diff --git a/conf/defaults.py b/conf/defaults.py
index 39e07c4ec28fcdb269cda0b1378a02e4544b720c..91675a256c2f5dcad8091c2b8c280b65a41fdc1c 100644
--- a/conf/defaults.py
+++ b/conf/defaults.py
@@ -1,16 +1,9 @@
 from pathlib import Path
 
-root = Path('c:/Users/rhodes/projects/proj0015-model-server/resources')
-# paths = {
-#     'logs': root / 'logs' / 'session',
-#     'inbound_images': root / 'images' / 'inbound',
-#     'outbound_images': root / 'images' / 'outbound',
-#     'ilastik_projects': root / 'ilastik',
-# }
+root = Path.home() / 'model-server' / 'resources'
 
 subdirectories = {
-    'logs': 'logs/session',
+    'logs': 'logs',
     'inbound_images': 'images/inbound',
     'outbound_images': 'images/outbound',
-    'ilastik_projects': 'ilastik',
 }
\ No newline at end of file
diff --git a/conf/ilastik.py b/conf/ilastik.py
new file mode 100644
index 0000000000000000000000000000000000000000..de14a50c4d55ceebafd3078c457276750c0ffcf9
--- /dev/null
+++ b/conf/ilastik.py
@@ -0,0 +1,5 @@
+from pathlib import Path
+
+paths = {
+    'project_files': Path.home() / 'model-server' / 'ilastik'
+}
\ No newline at end of file
diff --git a/conf/testing.py b/conf/testing.py
index cd6088e53f4365ec05ec445a933fee9b200a2bab..b8ac12145ad94251f7bfa640b0ed3bebfa65af16 100644
--- a/conf/testing.py
+++ b/conf/testing.py
@@ -11,11 +11,6 @@ czifile = {
     'z': 1,
 }
 
-# ilastik = {
-#     'pixel_classifier': root / 'testdata' / 'ilastik' / 'demo_px.ilp',
-#     'object_classifier': root / 'testdata' / 'ilastik' / 'demo_obj.ilp',
-# }
-
 ilastik = {
     'pixel_classifier': 'demo_px.ilp',
     'object_classifier': 'demo_obj.ilp',
diff --git a/model_server/ilastik.py b/model_server/ilastik.py
index c4b876dee2aa0a2aa29e31df87e0d0e92f3d528c..2440b2a3f677def57f243ebd555c9724a6baf47b 100644
--- a/model_server/ilastik.py
+++ b/model_server/ilastik.py
@@ -1,10 +1,9 @@
 import os
-import pathlib
 
 import numpy as np
 import vigra
 
-import conf.defaults
+import conf.ilastik
 from model_server.image import GenericImageDataAccessor, InMemoryDataAccessor
 from model_server.model import ImageToImageModel, ParameterExpectedError
 
@@ -13,9 +12,10 @@ class IlastikImageToImageModel(ImageToImageModel):
 
     def __init__(self, params, autoload=True):
         self.project_file = str(params['project_file'])
-        self.project_file_abspath = pathlib.Path(
-            conf.defaults.paths['ilastik_projects'] / self.project_file,
-        )
+        pap = conf.ilastik.paths['project_files'] / self.project_file
+        self.project_file_abspath = pap
+        if not pap.exists():
+            raise FileNotFoundError(f'Project file does not exist: {pap}')
         if 'project_file' not in params or not self.project_file_abspath.exists():
             raise ParameterExpectedError('Ilastik model expects a project (*.ilp) file')
 
diff --git a/model_server/session.py b/model_server/session.py
index f52257434faae2ed06499595c56d672ead2f7f07..bea41e60adc72592a7313b368f478ef758071923 100644
--- a/model_server/session.py
+++ b/model_server/session.py
@@ -31,10 +31,11 @@ class Session(object):
         self.models = {} # model_id : model object
         self.manifest = [] # paths to data as well as other metadata from each inference run
         self.paths = self.make_paths(root)
-        self.session_id = self.create_session_id(self.paths['logs'])
-        self.session_log = self.paths['logs'] / f'{self.session_id}.log'
+        # self.session_id = self.create_session_id(self.paths['logs'])
+        # self.session_id = self.create_session_id(self.paths)
+        self.session_log = self.paths['logs'] / f'session.log'
         self.log_event('Initialized session')
-        self.manifest_json = self.paths['logs'] / f'{self.session_id}-manifest.json'
+        self.manifest_json = self.paths['logs'] / f'manifest.json'
         open(self.manifest_json, 'w').close() # instantiate empty json file
 
     def get_paths(self):
@@ -47,12 +48,12 @@ class Session(object):
         :param root: absolute path to top-level directory
         :return: dictionary of session paths
         """
-        paths = {}
         if root is None:
             root_path = Path(conf.defaults.root)
         else:
             root_path = Path(root)
         sid = Session.create_session_id(root_path)
+        paths = {'root': root_path}
         for pk in ['inbound_images', 'outbound_images', 'logs']:
             pa = root_path / sid / conf.defaults.subdirectories[pk]
             paths[pk] = pa
@@ -69,7 +70,7 @@ class Session(object):
         """
         yyyymmdd = strftime('%Y%m%d', localtime())
         idx = 0
-        while os.path.exists(look_where / f'{yyyymmdd}-{idx:04d}.log'):
+        while os.path.exists(look_where / f'{yyyymmdd}-{idx:04d}'):
             idx += 1
         return f'{yyyymmdd}-{idx:04d}'
 
diff --git a/tests/test_api.py b/tests/test_api.py
index d09108e6ea9a65d960440c7bde8ec8e30574f69f..09baa8a4e888f36b18f0c909667734fd48fe59dd 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -21,6 +21,17 @@ class TestServerBaseClass(unittest.TestCase):
         self.uri = f'http://{host}:{port}/'
         self.server_process.start()
 
+    def copy_input_file_to_server(self):
+        from shutil import copyfile
+
+        resp = requests.get(self.uri + 'paths')
+        pa = resp.json()['inbound_images']
+        outpath = Path(pa) / czifile['filename']
+        copyfile(
+            czifile['path'],
+            outpath
+        )
+
     def tearDown(self) -> None:
         self.server_process.terminate()
 
@@ -89,17 +100,6 @@ class TestApiFromAutomatedClient(TestServerBaseClass):
         )
         self.assertEqual(resp.status_code, 409, resp.content.decode())
 
-    def copy_input_file_to_server(self):
-        from shutil import copyfile
-
-        resp = requests.get(self.uri + 'paths')
-        pa = resp.json()['inbound_images']
-        outpath = Path(pa) / czifile['filename']
-        copyfile(
-            czifile['path'],
-            outpath
-        )
-
     def test_i2i_dummy_inference_by_api(self):
         model_id = self.test_load_dummy_model()
         self.copy_input_file_to_server()
diff --git a/tests/test_ilastik.py b/tests/test_ilastik.py
index fba595e144f497d02dc15e5663d32e987f317c4c..0ef8d0c4ef102ba7053131024b57d344b226fe3f 100644
--- a/tests/test_ilastik.py
+++ b/tests/test_ilastik.py
@@ -139,7 +139,7 @@ class TestIlastikOverApi(TestServerBaseClass):
         self.assertEqual(rj[model_id]['class'], 'IlastikObjectClassifierModel')
 
     def test_ilastik_infer_pixel_probability(self):
-        TestServerBaseClass.copy_input_file_to_server()
+        self.copy_input_file_to_server()
         model_id = self.test_load_ilastik_pixel_model()
 
         resp_infer = requests.put(
diff --git a/tests/test_session.py b/tests/test_session.py
index 9846dcfe83aea5b7a128da71f30db66d4f0c254e..5055d5c9feba5dcb7375ff039959fa7e49365722 100644
--- a/tests/test_session.py
+++ b/tests/test_session.py
@@ -25,12 +25,14 @@ class TestGetSessionObject(unittest.TestCase):
         for k in old_paths.keys():
             self.assertTrue(new_paths[k].__str__().startswith(newroot.__str__()))
 
+
+
     def test_restart_session(self):
         sesh = Session()
         logfile1 = sesh.session_log
         sesh.restart()
         logfile2 = sesh.session_log
-        self.assertIsNot(logfile1, logfile2, 'Restarting session does not generate new logfile')
+        self.assertNotEqual(logfile1, logfile2, 'Restarting session does not generate new logfile')
 
     def test_session_records_workflow(self):
         import json
@@ -55,7 +57,6 @@ class TestGetSessionObject(unittest.TestCase):
         success = sesh.load_model(MC)
         self.assertTrue(success)
         loaded_models = sesh.describe_loaded_models()
-        print(loaded_models)
         self.assertTrue(
             (MC.__name__ + '_00') in loaded_models.keys()
         )
@@ -69,7 +70,6 @@ class TestGetSessionObject(unittest.TestCase):
         MC = DummyImageToImageModel
         sesh.load_model(MC)
         sesh.load_model(MC)
-        print(sesh.models.keys())
         self.assertIn(MC.__name__ + '_00', sesh.models.keys())
         self.assertIn(MC.__name__ + '_01', sesh.models.keys())