diff --git a/classes/modules/serviceModule.php b/classes/modules/serviceModule.php
index 487b55a679c809b964fe16ce7bd0b6ba62eee987..29b44bc654c9eb24a2838fba1aeedf93b4a3663c 100644
--- a/classes/modules/serviceModule.php
+++ b/classes/modules/serviceModule.php
@@ -14,133 +14,145 @@ class ServiceModule extends abstractModule{
   	  return FALSE;
   	}
   	$extension = Utils::getExtension($acceptContentType); 
-  	$lodspk['model'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0]."/";
+  	$lodspk['model'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0].'/';
   	$lodspk['view'] = $conf['home'].$conf['view']['directory'].$conf['service']['prefix'].$qArr[0].'/';
   	$viewFile  = $extension.".template";
   	$modelFile = $extension.".queries";
-  	if(file_exists($lodspk['model'].$modelFile) && file_exists($lodspk['view'].$viewFile) && $qArr[0] != null){
-  	  trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE);
- 	  return array($modelFile, $viewFile);
-  	}elseif($extension != 'html' && file_exists($lodspk['model'].$conf['service']['prefix'].$qArr[0].'/html.queries')){
-  	  $modelFile =  $conf['home'].$lodspk['model'].$conf['service']['prefix'].$qArr[0].'/html.queries';
-  	  $viewFile = null;
-  	  trigger_error("Using ".$modelFile." as model. It will be used as a CONSTRUCT", E_USER_NOTICE);
-  	  return array($modelFile, $viewFile);
+  	if(file_exists($lodspk['model']) && file_exists($lodspk['view'])){
+  	  if(!file_exists($lodspk['view'].$viewFile)){
+  	  	$viewFile = null;  	  
+  	  }
+  	  if(file_exists($lodspk['model'].$modelFile) && $qArr[0] != null){
+  	  	trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE);
+  	  	return array($modelFile, $viewFile);
+  	  }elseif($extension != 'html' && file_exists($lodspk['model'].'/html.queries')){
+  	  	$modelFile = 'html.queries';
+  	  	trigger_error("Using ".$modelFile." as model. It will be used as a CONSTRUCT", E_USER_NOTICE);
+  	  	return array($modelFile, $viewFile);
+  	  }else{
+  	  	Utils::send406($uri);
+  	  	exit(0);
+  	  }
   	}
   	
   	return FALSE;  
   }
-
-public function execute($service){
-  global $conf;
-  global $localUri;
-  global $uri;
-  global $acceptContentType;
-  global $endpoints;
-  global $lodspk;
-  global $first;
-  $context = array();
-  $context['contentType'] = $acceptContentType;
-  $context['endpoints'] = $endpoints;
-  //$sp = new SpecialFunction();
-  //$sp->execute($localUri, $context);
-  $f = $this->getFunction($localUri);
-  $params = array();
-  $params = $this->getParams($localUri);
-  //$params[] = $context;
-  $acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']);
-  $extension = Utils::getExtension($acceptContentType); 
-  $args = array();
-  list($modelFile, $viewFile) = $service;
   
-  try{
-  	$prefixHeader = array();
+  public function execute($service){
+  	global $conf;
+  	global $localUri;
+  	global $uri;
+  	global $acceptContentType;
+  	global $endpoints;
+  	global $lodspk;
+  	global $first;
+  	$context = array();
+  	$context['contentType'] = $acceptContentType;
+  	$context['endpoints'] = $endpoints;
+  	//$sp = new SpecialFunction();
+  	//$sp->execute($localUri, $context);
+  	$f = $this->getFunction($localUri);
+  	$params = array();
+  	$params = $this->getParams($localUri);
+  	//$params[] = $context;
+  	$acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']);
+  	$extension = Utils::getExtension($acceptContentType); 
+  	$args = array();
+  	list($modelFile, $viewFile) = $service;
   	
-  	for($i=0;$i<sizeof($params);$i++){
-  	  if($conf['mirror_external_uris']){
-  	  	$altUri = Utils::curie2uri($params[$i]);
-  	  	$altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri);
-  	  	$params[$i] = Utils::uri2curie($altUri);
+  	try{
+  	  $prefixHeader = array();
+  	  
+  	  for($i=0;$i<sizeof($params);$i++){
+  	  	if($conf['mirror_external_uris']){
+  	  	  $altUri = Utils::curie2uri($params[$i]);
+  	  	  $altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri);
+  	  	  $params[$i] = Utils::uri2curie($altUri);
+  	  	}
   	  }
-  	}
-  	
-  	for($i=0;$i<sizeof($params);$i++){  
-  	  $auxPrefix = Utils::getPrefix($params[$i]);
-  	  if($auxPrefix['ns'] != NULL){
-  	  	$prefixHeader[] = $auxPrefix;
+  	  
+  	  for($i=0;$i<sizeof($params);$i++){  
+  	  	$auxPrefix = Utils::getPrefix($params[$i]);
+  	  	if($auxPrefix['ns'] != NULL){
+  	  	  $prefixHeader[] = $auxPrefix;
+  	  	}
+  	  	$args["arg".$i]=$params[$i];
   	  }
-  	  $args["arg".$i]=$params[$i];
-  	}
-  	$results['params'] = $params;
-  	
-  	
-  	$lodspk['home'] = $conf['basedir'];
-  	$lodspk['baseUrl'] = $conf['basedir'];
-  	$lodspk['module'] = 'service';
-  	$lodspk['root'] = $conf['root'];
-  	$lodspk['contentType'] = $acceptContentType;
-  	$lodspk['ns'] = $conf['ns'];  	  	
-  	$lodspk['this']['value'] = $uri;
-  	$lodspk['this']['curie'] = Utils::uri2curie($uri);
-  	$lodspk['this']['local'] = $localUri;  	
-  	$lodspk['contentType'] = $acceptContentType;
-  	$lodspk['endpoint'] = $conf['endpoint'];
-  	
-  	$lodspk['type'] = $modelFile;
-  	$lodspk['header'] = $prefixHeader;
-  	$lodspk['args'] = $args;
-  	$lodspk['add_mirrored_uris'] = false;
-  	$lodspk['baseUrl'] = $conf['basedir'];
-  	$lodspk['this']['value'] = $uri;
-  	if($viewFile == null){
-  	  $lodspk['transform_select_query'] = true;
+  	  $results['params'] = $params;
+  	  
+  	  
+  	  $lodspk['home'] = $conf['basedir'];
+  	  $lodspk['baseUrl'] = $conf['basedir'];
+  	  $lodspk['module'] = 'service';
+  	  $lodspk['root'] = $conf['root'];
+  	  $lodspk['contentType'] = $acceptContentType;
+  	  $lodspk['ns'] = $conf['ns'];  	  	
+  	  $lodspk['this']['value'] = $uri;
+  	  $lodspk['this']['curie'] = Utils::uri2curie($uri);
+  	  $lodspk['this']['local'] = $localUri;  	
+  	  $lodspk['contentType'] = $acceptContentType;
+  	  $lodspk['endpoint'] = $conf['endpoint'];
+  	  
+  	  $lodspk['type'] = $modelFile;
+  	  $lodspk['header'] = $prefixHeader;
+  	  $lodspk['args'] = $args;
+  	  $lodspk['add_mirrored_uris'] = false;
+  	  $lodspk['baseUrl'] = $conf['basedir'];
+  	  $lodspk['this']['value'] = $uri;
+  	  if($viewFile == null){
+  	  	$lodspk['transform_select_query'] = true;
+  	  }
+  	  chdir($lodspk['model']);
+  	  
+  	  Utils::queryFile($modelFile, $endpoints['local'], $results, $first);
+  	if($lodspk['resultRdf']){
+  	  echo Utils::serializeRdf($results, $extension);
+  	  exit(0);
+  	}else{
+  	  $results = Utils::internalize($results); 
   	}
-  	chdir($lodspk['model']);
-  	
-  	Utils::queryFile($modelFile, $endpoints['local'], $results, $first);
-  	$results = Utils::internalize($results);
-  	
-  	$lodspk['first'] = Utils::getFirsts($results);
-  	chdir($conf['home']);
-  	if(is_array($results)){
-  	  $results = Convert::array_to_object($results);
+  	  
+  	  $lodspk['first'] = Utils::getFirsts($results);
+  	  chdir($conf['home']);
+  	  if(is_array($results)){
+  	  	$results = Convert::array_to_object($results);
+  	  }
+  	  
+  	  //Need to redefine viewFile as 'local' i.e., inside service.foo/ so I can load files with the relative path correctly
+  	  //$viewFile = $extension.".template";
+  	  
+  	  Utils::processDocument($viewFile, $lodspk, $results);  
+  	  
+  	}catch (Exception $ex){
+  	  echo $ex->getMessage();
+  	  trigger_error($ex->getMessage(), E_ERROR);
+  	  Utils::send500($uri);
   	}
-  	
-  	//Need to redefine viewFile as 'local' i.e., inside service.foo/ so I can load files with the relative path correctly
-  	//$viewFile = $extension.".template";
-
-  	Utils::processDocument($viewFile, $lodspk, $results);  
-  	
-  }catch (Exception $ex){
-  	echo $ex->getMessage();
-  	trigger_error($ex->getMessage(), E_ERROR);
-  	Utils::send500($uri);
+  	exit(0);	
   }
-  exit(0);	
-}
-
-
-protected function getFunction($uri){
-  global $conf;
-  $count = 1;
-  $prefixUri = $conf['basedir'];
-  $aux = str_replace($prefixUri, '', $uri, $count);
-  $functionAndParams = explode('/', $aux);
-  return $functionAndParams[0];
-}
-
-protected function getParams($uri){
-  global $conf;
-  $count = 1;
-  $prefixUri = $conf['basedir'];
-  $functionAndParams = explode('/', str_replace($prefixUri, '', $uri, $count));
-  if(sizeof($functionAndParams) > 1){
-  	array_shift($functionAndParams);
-  	return $functionAndParams;
-  }else{
-  	return array(null);
+  
+  
+  protected function getFunction($uri){
+  	global $conf;
+  	$count = 1;
+  	$prefixUri = $conf['basedir'];
+  	$aux = str_replace($prefixUri, '', $uri, $count);
+  	$functionAndParams = explode('/', $aux);
+  	return $functionAndParams[0];
   }
-}
-
+  
+  protected function getParams($uri){
+  	global $conf;
+  	$count = 1;
+  	$prefixUri = $conf['basedir'];
+  	$functionAndParams = explode('/', str_replace($prefixUri, '', $uri, $count));
+  	if(sizeof($functionAndParams) > 1){
+  	  array_shift($functionAndParams);
+  	  return $functionAndParams;
+  	}else{
+  	  return array(null);
+  	}
+  }
+  
 }
 ?>
diff --git a/common.inc.php b/common.inc.php
index 6fd297de03aa1ea0ee119b12263320b9e37d87d1..a51c4f6944ced289bcea7b8c658b6f3134f461df 100644
--- a/common.inc.php
+++ b/common.inc.php
@@ -43,7 +43,7 @@ $conf['root'] = 'index.html';
 $conf['extension_connector'] = '.';
 
 //Priority for rdfs:Resource (default). Priorities should be >=0
-$conf['types']['priorities']['rdfs:Resource'] = -1;
+$conf['type']['priorities']['rdfs:Resource'] = -1;
 
 //Debug
 $conf['debug'] = false;