diff --git a/full/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java b/full/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
index ff3ffd0..d12ff3f 100644
--- a/full/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
+++ b/full/src/main/java/de/ids_mannheim/korap/dao/ResourceDao.java
@@ -4,8 +4,10 @@
 import java.util.Set;
 
 import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
 import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
+import javax.persistence.TypedQuery;
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Root;
@@ -37,15 +39,14 @@
      * 
      * @return a list of resources
      */
-    @SuppressWarnings("unchecked")
     public List<Resource> getAllResources () {
         CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
         CriteriaQuery<Resource> query =
                 criteriaBuilder.createQuery(Resource.class);
         Root<Resource> resource = query.from(Resource.class);
         query.select(resource);
-        
-        Query q = entityManager.createQuery(query);
+
+        TypedQuery<Resource> q = entityManager.createQuery(query);
         return q.getResultList();
     }
 
@@ -58,12 +59,17 @@
         query.where(criteriaBuilder.equal(resource.get(Resource_.id), id));
 
         Query q = entityManager.createQuery(query);
-        return (Resource) q.getSingleResult();
+        try {
+            return (Resource) q.getSingleResult();
+        }
+        catch (NoResultException e) {
+            return null;
+        }
     }
 
     public void createResource (String id, String germanTitle,
-            String englishTitle, String englishDescription, Set<AnnotationLayer> layers)
-            throws KustvaktException {
+            String englishTitle, String englishDescription,
+            Set<AnnotationLayer> layers) throws KustvaktException {
         ParameterChecker.checkStringValue(id, "id");
         ParameterChecker.checkStringValue(englishTitle, "en_title");
         ParameterChecker.checkStringValue(germanTitle, "de_title");
diff --git a/full/src/main/java/de/ids_mannheim/korap/entity/Resource.java b/full/src/main/java/de/ids_mannheim/korap/entity/Resource.java
index fbe3f92..813adc5 100644
--- a/full/src/main/java/de/ids_mannheim/korap/entity/Resource.java
+++ b/full/src/main/java/de/ids_mannheim/korap/entity/Resource.java
@@ -6,8 +6,8 @@
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
 import javax.persistence.Id;
-import javax.persistence.JoinTable;
 import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
 import javax.persistence.ManyToMany;
 import javax.persistence.Table;
 
diff --git a/full/src/main/resources/free-resources.json b/full/src/main/resources/free-resources.json
index ea71020..ba6f63e 100644
--- a/full/src/main/resources/free-resources.json
+++ b/full/src/main/resources/free-resources.json
@@ -5,6 +5,9 @@
     "en_description" : "A collection of German Wikipedia articles from May 2015.",
     "layers": [
         "opennlp/p",
-        "corenlp/p"
+        "corenlp/p",
+        "corenlp/c",
+        "marmot/m",
+        "marmot/p"
     ]
 }]
\ No newline at end of file
