diff --git a/DSSC.py b/DSSC.py
index a571613e85fef55cdc1e64184149da3f15ad21aa..2d0b6a2bd21c384a6d0bc3873aabe30d163b68de 100644
--- a/DSSC.py
+++ b/DSSC.py
@@ -8,6 +8,7 @@ import warnings
 import psutil
 
 import karabo_data as kd
+from karabo_data.read_machinery import find_proposal
 from karabo_data.geometry2 import DSSC_1MGeometry
 import ToolBox as tb
 import matplotlib.pyplot as plt
@@ -20,21 +21,22 @@ from imageio import imread
 
 class DSSC:
     
-    def __init__(self, semester, proposal, topic='SCS', distance=1):
+    def __init__(self, proposal, distance=1):
         """ Create a DSSC object to process DSSC data.
         
             inputs:
-                semester: semester string
-                proposal: proposal number string
-                topic: topic, by default SCS
-                distance: distance sample to DSSC detector in meter
+                proposal: (int,str) proposal number string
+                distance: (float) distance sample to DSSC detector in meter
             
         """
-        self.semester = semester
+        if isinstance(proposal,int):
+            proposal = 'p{:06d}'.format(proposal)
+        runFolder = find_proposal(proposal)
+        self.semester = runFolder.split('/')[-2]
         self.proposal = proposal
-        self.topic = topic
+        self.topic = runFolder.split('/')[-3]
         self.tempdir = None
-        self.save_folder = f'/gpfs/exfel/exp/{self.topic}/{self.semester}/{self.proposal}/usr/condensed_runs/'
+        self.save_folder = os.path.join(runFolder, 'usr/condensed_runs/')
         self.distance = distance
         self.px_pitch_h = 236 # horizontal pitch in microns
         self.px_pitch_v = 204 # vertical pitch in microns