diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m
index ee4ef4b8d6cd76fb3f966f7879221e3b99496cb9..c23d66c14441417342c27d161eb9169e05a998d7 100644
--- a/code/classes/SCDclass_expcode.m
+++ b/code/classes/SCDclass_expcode.m
@@ -175,7 +175,11 @@ classdef SCDclass_expcode
              rtwbuild(mynodeslx{1});
         end
       end
-       
+      
+      function threadslx = getthreadslx(inode,icpu)
+        threadslx = sprintf('SCD_rtccode_%02d_%02d',inode,icpu);
+      end
+      
       function setcachefolder(obj)
         %% Set Cache Folder for experimental code (avoid conflicts with other tmp files)
         CacheFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',...
@@ -582,8 +586,18 @@ classdef SCDclass_expcode
           sim('tcv')
         end  
         
-        function open(obj)
-          open('tcv');
+        function open(~,node,cpu)
+          if nargin==1
+            openslx = 'tcv';
+          elseif nargin==2
+            assert(isnumeric(node))
+            openslx = sprintf('SCD_rtc_%02d',node);
+          elseif nargin==3
+            openslx = SCDclass_expcode.getthreadslx(node,cpu);
+          else
+            error('invalid number of arguments');
+          end
+          open(openslx);
         end
         
         function build(obj)
@@ -596,7 +610,7 @@ classdef SCDclass_expcode
              for icpu = 1:nodeinfo.ncpu
                if nodeinfo.cpuactive(icpu)
                  compileslx_list = [compileslx_list,...
-                   sprintf('SCD_rtccode_%02d_%02d',inode,icpu)]; %#ok<AGROW>
+                   SCDclass_expcode.getthreadslx(node,cpu)]; %#ok<AGROW>
                end
              end
            end