diff --git a/imcal.py b/imcal.py
index f929ac8e0d1e73369eefe37b039fc7d54c56733f..5251e44af26ce5774062ac48da19c8a4172860de 100755
--- a/imcal.py
+++ b/imcal.py
@@ -395,6 +395,7 @@ def view_sols(h5param, outname=None):
             grp = f['sol000/{}'.format(key)]
             data = grp['val'][()]
             time = grp['time'][()]
+            timex = (time-time[0])/3600.0
             # ants = ['RT2','RT3','RT4','RT5','RT6','RT7','RT8','RT9','RTA','RTB','RTC','RTD']
             ants = [_.decode() for _ in grp['ant'][()]]
             fig = plt.figure(figsize=[20, 15])
@@ -406,29 +407,24 @@ def view_sols(h5param, outname=None):
                    ax.set_ylim(0,2)
                 else :
                    ax.set_ylim(-180,180)
+                gavg = np.nanmean(data, axis=1)
                 if len(data.shape) == 5: # several directions
                     # a = ax.imshow(data[:,:,i,1,0].T, aspect='auto')
                     # plt.colorbar(a)
-                    gavg = np.nanmean(data, axis=1)
                     if key == 'amplitude000' :
-                      ax.plot((time-time[0])/60.0, gavg[:, i, :, 0], alpha=0.7)
-                      ax.plot((time-time[0])/60.0, gavg[:, i, :, 1], alpha=0.7)
+                        ax.plot(timex, gavg[:, i, :, 0], alpha=0.7)
+                        ax.plot(timex, gavg[:, i, :, 1], alpha=0.7)
                     else :
-                      ax.plot((time-time[0])/60.0, 360.0/np.pi*gavg[:, i, :, 0], alpha=0.7)
-                      ax.plot((time-time[0])/60.0, 360.0/np.pi*gavg[:, i, :, 1], alpha=0.7)
+                        ax.plot(timex, 360.0/np.pi*gavg[:, i, :, 0], alpha=0.7)
+                        ax.plot(timex, 360.0/np.pi*gavg[:, i, :, 1], alpha=0.7)
 
                 elif len(data.shape) == 4: # a single direction
                     if key == 'amplitude000' :
-                      gavg = np.nanmean(data,axis=1)
-#                      ax.plot((time-time[0])/3600.0, data[:, 0, i, 0], alpha=0.7)
-                      ax.plot((time-time[0])/3600.0, gavg[:,  i, 0], alpha=0.7,label='XX')
-                      ax.plot((time-time[0])/3600.0, gavg[:,  i, 0], alpha=0.7,label='YY')
+                        ax.plot(timex, gavg[:,  i, 0], alpha=0.7,label='XX')
+                        ax.plot(timex, gavg[:,  i, 0], alpha=0.7,label='YY')
                     else :
-                      gavg = np.nanmean(data,axis=1)
-#                      ax.plot((time-time[0])/3600.0, 360.0/np.pi*data[:, 0, i, 0], alpha=0.7)
-#                      ax.plot((time-time[0])/3600.0, 360.0/np.pi*data[:,3 , i, 0], alpha=0.7)
-                      ax.plot((time-time[0])/3600.0, 360.0/np.pi*gavg[:,  i, 0], alpha=0.7,label='XX')
-                      ax.plot((time-time[0])/3600.0, 360.0/np.pi*gavg[:,  i, 1], alpha=0.7,label='YY')
+                        ax.plot(timex, 360.0/np.pi*gavg[:,  i, 0], alpha=0.7,label='XX')
+                        ax.plot(timex, 360.0/np.pi*gavg[:,  i, 1], alpha=0.7,label='YY')
 
 
                     if i == 0:
@@ -493,7 +489,7 @@ def main(msin, steps='all', outbase=None, cfgfile='imcal.yml', force=False):
 
 
     if steps == 'all':
-        steps = ['nvss', 'preflag', 'mask', 'dical', 'ddcal']
+        steps = ['split', 'nvss', 'preflag', 'mask', 'dical', 'ddcal']
     else:
         steps = steps.split(',')
 
@@ -554,23 +550,21 @@ def main(msin, steps='all', outbase=None, cfgfile='imcal.yml', force=False):
     logging.info('Image RA, DEC: %s, %s', img_ra, img_dec)
     logging.info('Image Min, Max: %s, %s', img_min, img_max)
 
-    if 'nvss' in steps and cfg['nvss']:
-       nvss_model = nvss_cutout(initial_img, nvsscat='/opt/nvss.csv.zip', clip=cfg['nvsscal']['clip_model'])
-       if (not os.path.exists(ms_split)) and (cfg['split']['startchan'] or cfg['split']['nchan']):
-           ms_split = split_ms(msin, msout_path=ms_split, **cfg['split'])
+    if 'split' in steps and (not os.path.exists(ms_split)) and (cfg['split']['startchan'] or cfg['split']['nchan']):
+        ms_split = split_ms(msin, msout_path=ms_split, **cfg['split'])
+        msin = ms_split
 
-       makesourcedb(nvss_model, out=nvssMod)
+    if 'preflag' in steps:
+        msin = preflag(msin, msout=outbase+'_preflagged.MS', **cfg['preflag'])
 
-       dical(ms_split, nvssMod, msout=dical0, h5out=h5_0, **cfg['nvsscal'])
-       view_sols(h5_0, outname=msbase+'_sols_dical0')
-    else :
-       if (not os.path.exists(ms_split)) and (cfg['split']['startchan'] or cfg['split']['nchan']):
-           dical0 = split_ms(msin, msout_path=dical0, **cfg['split'])
-       else:
-           dical0 = msin
+    if 'nvss' in steps and cfg['nvss']:
+        nvss_model = nvss_cutout(initial_img, nvsscat='/opt/nvss.csv.zip', clip=cfg['nvsscal']['clip_model'])
+        makesourcedb(nvss_model, out=nvssMod)
+        dical0 = dical(msin, nvssMod, msout=dical0, h5out=h5_0, **cfg['nvsscal'])
+        view_sols(h5_0, outname=msbase+'_sols_dical0')
+    else:
+        dical0 = msin
 
-    if 'preflag' in steps:
-        dical0 = preflag(ms_split, msout=dical0, **cfg['preflag'])
 
     if 'mask' in steps:
         if not force and (os.path.exists(img0 +'-image.fits') or (os.path.exists(img0 +'-MFS-image.fits'))):