diff --git a/src/main/java/info/textgrid/services/aggregator/EPUB.java b/src/main/java/info/textgrid/services/aggregator/EPUB.java
index f2290f71e5efa6d44102ba7239291af63bd7a0b5..095319b5d5234facca77b583922a7a4d87112533 100644
--- a/src/main/java/info/textgrid/services/aggregator/EPUB.java
+++ b/src/main/java/info/textgrid/services/aggregator/EPUB.java
@@ -23,7 +23,6 @@
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 import javax.xml.transform.stream.StreamSource;
@@ -64,7 +63,9 @@ public EPUB(final ITextGridRep repository) {
 	@Path(value = "/{object}")
 	@Produces(value = "application/epub+zip")
 	public Response get(@PathParam("object") final URI uri,
-			@QueryParam("stylesheet") final URI xsluri) {
+			@QueryParam("stylesheet") final URI xsluri)
+			throws ObjectNotFoundFault, MetadataParseFault, IoFault, AuthFault,
+			ProtocolNotImplementedFault {
 		logger.fine("EPUB called for root object: " + uri);
 		final TGCrudService crud = repository.getCRUDService();
 		try {
@@ -129,33 +130,15 @@ public InputStream getInput() throws IOException {
 
 			// return Response.ok().type("text/plain").entity("Done, see " +
 			// workingDir).build();
-		} catch (final ObjectNotFoundFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final MetadataParseFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final IoFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final AuthFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		} catch (final FileNotFoundException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-		} catch (final WebApplicationException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		} catch (final IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} catch (final SaxonApiException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-		} catch (final ProtocolNotImplementedFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		}
 		return Response.noContent().build();
 
diff --git a/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java b/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
index c4f749baeedf9434b9e892bd2dc07ffcd6e75cc4..bad518080d5b4e06d26eb0bedd0745b3fcbd5bc4 100644
--- a/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
+++ b/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
@@ -111,29 +111,21 @@ else if (Files.getFileExtension(name).equals("opf"))
 				zip.closeEntry();
 			}
 		} catch (final SAXException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
 		} catch (final URISyntaxException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
 		} catch (final XMLStreamException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final ProtocolNotImplementedFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final ObjectNotFoundFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final MetadataParseFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final IoFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final AuthFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
+		} catch (ObjectNotFoundFault e) {
+			throw new WebApplicationException(e);
+		} catch (MetadataParseFault e) {
+			throw new WebApplicationException(e);
+		} catch (IoFault e) {
+			throw new WebApplicationException(e);
+		} catch (ProtocolNotImplementedFault e) {
+			throw new WebApplicationException(e);
+		} catch (AuthFault e) {
+			throw new WebApplicationException(e);
 		} finally {
 			zip.close();
 			FileUtils.removeDir(workingDir);