Index: src/Actions/unittests/Makefile.am
===================================================================
--- src/Actions/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Actions/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -30,5 +30,6 @@
 if CONDJOBMARKET
 ACTIONLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 
Index: src/Analysis/unittests/Makefile.am
===================================================================
--- src/Analysis/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Analysis/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -34,5 +34,6 @@
 if CONDJOBMARKET
 ANALYSISLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 ANALYSISLIBS += \
Index: src/Descriptors/unittests/Makefile.am
===================================================================
--- src/Descriptors/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Descriptors/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -24,5 +24,6 @@
 if CONDJOBMARKET
 DESCRIPTORLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 DESCRIPTORLIBS += \
Index: src/Filling/unittests/Makefile.am
===================================================================
--- src/Filling/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Filling/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -41,5 +41,6 @@
 if CONDJOBMARKET
 FILLINGLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 FILLINGLIBS += \
Index: src/Fragmentation/Homology/unittests/Makefile.am
===================================================================
--- src/Fragmentation/Homology/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Fragmentation/Homology/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -51,7 +51,7 @@
 HomologyContainerUnitTest_LDADD = $(FRAGMENTATIONHOMOLOGYLIBS)
 #	../libMolecuilderUI.la \
-  ../libMolecuilderJobsGrid.la \
+	../libMolecuilderJobsGrid.la \
 	${CodePatterns_LIBS} \
-  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
+	$(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
 	$(BOOST_LIB)
 
Index: src/Graph/unittests/Makefile.am
===================================================================
--- src/Graph/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Graph/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -26,5 +26,6 @@
 if CONDJOBMARKET
 GRAPHLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 GRAPHLIBS += \
Index: src/Jobs/MPQCJob.cpp
===================================================================
--- src/Jobs/MPQCJob.cpp	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Jobs/MPQCJob.cpp	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -45,5 +45,4 @@
 
 #include <limits>
-#include <sstream>
 
 #include "CodePatterns/Assert.hpp"
@@ -84,25 +83,4 @@
 {}
 
-FragmentResult::ptr MPQCJob::Work()
-{
-  // instantiate empty data
-  const MPQCData data;
-  std::stringstream returnstream;
-  boost::archive::text_oarchive oa(returnstream);
-  oa << data;
-
-  // create the result
-  FragmentResult::ptr ptr( new FragmentResult(getId(), returnstream.str()) );
-  if (data.desired_accuracy != 0.) {
-    ptr->exitflag = data.accuracy < data.desired_accuracy ? 0 : 1;
-    if (ptr->exitflag != 0)
-      ELOG(1, "Job #" << ptr->getId() << " failed to reach desired accuracy.");
-  } else {
-    LOG(3, "INFO: No precision returned from MPQC job, not checking.");
-  }
-
-  return ptr;
-}
-
 // we need to explicitly instantiate the serialization functions as
 // its is only serialized through its base class FragmentJob
Index: src/Jobs/MPQCJob_Work.cpp
===================================================================
--- src/Jobs/MPQCJob_Work.cpp	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
+++ src/Jobs/MPQCJob_Work.cpp	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -0,0 +1,69 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2017 Frederik Heber. All rights reserved.
+ * 
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * MPQCJobi_Work.cpp
+ *
+ *  Created on: Feb 20, 2017
+ *      Author: heber
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+// include headers that implement a archive in simple text format
+// otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "MPQCJob.hpp"
+
+#include <sstream>
+
+#include "CodePatterns/Log.hpp"
+
+FragmentResult::ptr MPQCJob::Work()
+{
+  // instantiate empty data
+  const MPQCData data;
+  std::stringstream returnstream;
+  boost::archive::text_oarchive oa(returnstream);
+  oa << data;
+
+  // create the result
+  FragmentResult::ptr ptr( new FragmentResult(getId(), returnstream.str()) );
+  if (data.desired_accuracy != 0.) {
+    ptr->exitflag = data.accuracy < data.desired_accuracy ? 0 : 1;
+    if (ptr->exitflag != 0)
+      ELOG(1, "Job #" << ptr->getId() << " failed to reach desired accuracy.");
+  } else {
+    LOG(3, "INFO: No precision returned from MPQC job, not checking.");
+  }
+
+  return ptr;
+}
+
Index: src/Jobs/Makefile.am
===================================================================
--- src/Jobs/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Jobs/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -55,14 +55,21 @@
 endif
 
-lib_LTLIBRARIES += libMolecuilderJobs.la
+lib_LTLIBRARIES += \
+	libMolecuilderJobs.la
+noinst_LTLIBRARIES += \
+	libMolecuilderJobs_Work.la
 libMolecuilderJobs_la_includedir = $(includedir)/MoleCuilder/
 nobase_libMolecuilderJobs_la_include_HEADERS = $(JOBSHEADER)
 libMolecuilderJobs_la_CPPFLAGS = $(AM_CPPFLAGS) ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ${JobMarket_CFLAGS} -Dvmg_float=double -Dvmg_int=int $(VMG_CFLAGS)
+libMolecuilderJobs_Work_la_CPPFLAGS = $(AM_CPPFLAGS) ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ${JobMarket_CFLAGS} -Dvmg_float=double -Dvmg_int=int $(VMG_CFLAGS)
 libMolecuilderJobs_la_LDFLAGS = $(AM_LDFLAGS) \
   $(BOOST_IOSTREAMS_LDFLAGS) \
   $(BOOST_SERIALIZATION_LDFLAGS) \
   $(BOOST_SYSTEM_LDFLAGS)
+libMolecuilderJobs_Work_la_LDFLAGS = $(AM_LDFLAGS)
 if CONDJOBMARKET
 libMolecuilderJobs_la_LDFLAGS += \
+  $(JobMarket_LDFLAGS)
+libMolecuilderJobs_Work_la_LDFLAGS += \
   $(JobMarket_LDFLAGS)
 endif
@@ -83,4 +90,6 @@
 if CONDJOBMARKET
 libMolecuilderJobs_la_LIBADD += \
+  $(JobMarket_LIBS)
+libMolecuilderJobs_Work_la_LIBADD = \
   $(JobMarket_LIBS)
 endif
@@ -105,4 +114,5 @@
 ## which are already listed elsewhere in a _HEADERS variable assignment.
 libMolecuilderJobs_la_SOURCES = $(JOBSSOURCE)
+libMolecuilderJobs_Work_la_SOURCES = Jobs/MPQCJob_Work.cpp
 
 ## Instruct libtool to include ABI version information in the generated shared
Index: src/Jobs/unittests/Makefile.am
===================================================================
--- src/Jobs/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Jobs/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -20,4 +20,5 @@
 	../libMolecuilder.la \
 	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la \
 	../libMolecuilderFragmentationContainers.la \
 	../libMolecuilderFragmentationSummation.la \
Index: src/LinkedCell/unittests/Makefile.am
===================================================================
--- src/LinkedCell/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/LinkedCell/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -43,5 +43,6 @@
 if CONDJOBMARKET
 linkedcellUnitTest_LDADD += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 linkedcellUnitTest_LDADD += \
@@ -71,5 +72,6 @@
 if CONDJOBMARKET
 LinkedCell_ControllerUnitTest_LDADD += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 LinkedCell_ControllerUnitTest_LDADD += \
@@ -85,5 +87,6 @@
 if CONDJOBMARKET
 LinkedCell_ModelUnitTest_LDADD += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 LinkedCell_ModelUnitTest_LDADD += \
@@ -100,5 +103,6 @@
 if CONDJOBMARKET
 LinkedCell_ViewUnitTest_LDADD += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 LinkedCell_ViewUnitTest_LDADD += \
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -417,4 +417,5 @@
 	libMolecuilderFragmentation.la \
 	libMolecuilderJobs.la \
+	libMolecuilderJobs_Work.la \
 	libMolecuilderFragmentationSummation.la \
 	libMolecuilderFragmentation_KeysetsContainer.la \
@@ -431,4 +432,5 @@
 PoolWorker_LDADD = \
 	libMolecuilderJobs.la \
+	libMolecuilderJobs_Work.la \
 	libMolecuilderFragmentationSummation.la \
 	${JobMarket_PoolWorker_LIBS} \
@@ -443,4 +445,5 @@
 Server_LDADD = \
 	libMolecuilderJobs.la \
+	libMolecuilderJobs_Work.la \
 	libMolecuilderFragmentationSummation.la \
 	${JobMarket_Server_LIBS} \
Index: src/Parser/unittests/Makefile.am
===================================================================
--- src/Parser/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Parser/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -41,5 +41,6 @@
 if CONDJOBMARKET
 PARSERLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 PARSERLIBS += \
Index: src/Tesselation/unittests/Makefile.am
===================================================================
--- src/Tesselation/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/Tesselation/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -28,5 +28,6 @@
 if CONDJOBMARKET
 TESSELATIONLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 TESSELATIONLIBS += \
Index: src/UIElements/CommandLineUI/unittests/Makefile.am
===================================================================
--- src/UIElements/CommandLineUI/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/UIElements/CommandLineUI/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -24,5 +24,6 @@
 if CONDJOBMARKET
 CommandLineParser_ActionRegistry_ConsistencyUnitTest_LDADD += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 CommandLineParser_ActionRegistry_ConsistencyUnitTest_LDADD += \
Index: src/UIElements/Makefile.am
===================================================================
--- src/UIElements/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/UIElements/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -295,5 +295,6 @@
 	libMolecuilderFragmentation_getFromKeyset.la \
 	libMolecuilderFragmentation.la \
-	libMolecuilderJobs.la
+	libMolecuilderJobs.la \
+	libMolecuilderJobs_Work.la
 	
 if CONDJOBMARKET
Index: src/UIElements/Menu/unittests/Makefile.am
===================================================================
--- src/UIElements/Menu/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/UIElements/Menu/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -24,5 +24,6 @@
 if CONDJOBMARKET
 MENULIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 MENULIBS += \
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision dfeb7ccdca4f06f48532373d3e7049261b5b4832)
+++ src/unittests/Makefile.am	(revision cb98f18bafc54f5ff073db8df06333ff42e29ee2)
@@ -132,5 +132,6 @@
 if CONDJOBMARKET
 ALLLIBS += \
-	../libMolecuilderJobs.la
+	../libMolecuilderJobs.la \
+	../libMolecuilderJobs_Work.la
 endif
 ALLLIBS += \
