diff --git a/launch_medm b/launch_medm
index 44f7d80b23db121b39f45963b23c00fb98a841b6..3a2827d5a9cd2fcd3380bd3dfe95fcbdec72ab76 100644
--- a/launch_medm
+++ b/launch_medm
@@ -3,3 +3,5 @@ medm -x -attach -macro "P=kmp3:,M1=m1,M2=m2,M3=m3" motor3x.adl &
 sleep 4.0
 medm -x -attach -macro "P=kmp3:,M1=m4,M2=m5,M3=m6" motor3x.adl &
 medm -x -attach -macro "P=kmp3:,M1=lab:m1,M2=lab:m2,M3=lab:m3" motor3x.adl &
+medm -x -attach -macro "P=kmp3:,M=m1" ~/epics/synAppsSVN/support/motor/motorApp/op/adl/motorx_all.adl &
+medm -x -attach -macro "P=kmp3:lab:,M=m1" ~/epics/synAppsSVN/support/motor/motorApp/op/adl/motorx_all.adl &
diff --git a/myLabTransform.py b/myLabTransform.py
index 5e054a2bb27012ac221cb3aa4ae5edc4b0470730..1f073a36f67494bd1c70ef004b5863e7b4ee914e 100644
--- a/myLabTransform.py
+++ b/myLabTransform.py
@@ -51,6 +51,7 @@ class myTransform(transform.transform):
     return retval.tolist()[0]
 
 if __name__ == "__main__":
+  #!prefix = 'kmp2:'
   prefix = 'kmp3:'
   realMotors = ["%s%s" % (prefix, x) for x in ('m1', 'm2', 'm3') ]
   transformMotors = ["%s%s" % (prefix, x) for x in ('m4', 'm5', 'm6') ]
diff --git a/transform.py b/transform.py
index bfc30927e3d3052b3df46a5ee214f94fce8997ec..c6ff9a373a847192271b50741522b5a2320d4453 100644
--- a/transform.py
+++ b/transform.py
@@ -23,6 +23,7 @@ class transform:
     self.reinitFlag = False
     self.softMotorInitiatedMove = False
     self.abortFlag = False
+    self.initCompleteFlag = False
     
     ### PVs to set
     
@@ -56,6 +57,18 @@ class transform:
       tempStr = "%s:dmov.VAL" % tm
       self.tm_dmov.append( epics.PV(tempStr) )
     
+    # soft motor sync PVs (for synchronizing target positions)   
+    self.tm_sync = []
+    for tm in (tm1, tm2, tm3):
+      tempStr = "%s.SYNC" % tm
+      self.tm_sync.append( epics.PV(tempStr) )
+
+    # soft motor proc PVs (for synchronizing target positions)   
+    self.tm_proc = []
+    for tm in (tm1, tm2, tm3):
+      tempStr = "%s.PROC" % tm
+      self.tm_proc.append( epics.PV(tempStr) )
+
     ### PVs to monitor
 
     # real motor RBV (for calculating transformed position)
@@ -106,14 +119,16 @@ class transform:
     #!print "end manual update"
 
     print "End Initialization"
+    self.initCompleteFlag = True
 
 
   ### Callback functions (to be called when PV values change--only set flags that are watched in main loop)
 
   def driveCallback(self, **kw):
     #!print "driveCallback:\n", "  ", kw['pvname'], kw['value']
-    self.moveSoftMotorFlag = True
-    self.softMotorInitiatedMove = True
+    if self.initCompleteFlag == True:
+      self.moveSoftMotorFlag = True
+      self.softMotorInitiatedMove = True
 
   def rdbkCallback(self, **kw):
     #!print "rdbkCallback:\n", "  ", kw['pvname'], kw['value']
@@ -148,7 +163,7 @@ class transform:
     # Do the forward transform
     tm_positions = self.fwdTrans(m_positions, t_positions)
     
-    #!print "updating readbacks:", tm_positions
+    print "updating readbacks:", tm_positions
     
     # Write the soft (transformed) readback positions
     for i in range(len(tm_positions)):
@@ -158,22 +173,25 @@ class transform:
   
   # This is only useful if LOCK = YES  
   def syncSoftTargets(self):
+    print "softMotorInitiatedMove =", self.softMotorInitiatedMove
     # Synchronize soft targets if a real motor initated the move 
     if self.softMotorInitiatedMove == False:
       # The following sleep is required to prevent problems when making small moves
       sleep(0.05)
-      #tm_positions = [x.get() for x in self.tm_rbv]
-      ### MAYBE SHOULD RECALCULATE BASED ON REAL MOTORS INSTEAD
-      m_positions = [x.get() for x in self.m_val]
-      t_positions = [x.get() for x in self.t_rbv]
+      #!#tm_positions = [x.get() for x in self.tm_rbv]
+      #!### MAYBE SHOULD RECALCULATE BASED ON REAL MOTORS INSTEAD
+      #!m_positions = [x.get() for x in self.m_val]
+      #!t_positions = [x.get() for x in self.t_rbv]
     
-      # Do the forward transform
-      tm_positions = self.fwdTrans(m_positions, t_positions)
+      #!# Do the forward transform
+      #!tm_positions = self.fwdTrans(m_positions, t_positions)
     
-      #!print "syncing these target positions:", tm_positions
+      #!#!print "syncing these target positions:", tm_positions
     
       for i in range(len(self.tm_rbv)):
-        self.tm_val[i].put(tm_positions[i])
+        print i
+        #!self.tm_sync[i].put(1)
+	#!self.tm_proc[i].put(1)
       
       
     # For soft-motor-initiate moves don't do anything
@@ -290,16 +308,16 @@ class transform:
         #!print "idle: stop motors"
         self.stopMotors()
       if self.moveSoftMotorFlag == True:
-        #!print "idle: move motors"
+        print "idle: move motors"
         self.moveMotors()
       if self.dmovChangeFlag == True:
-	#!print "idle: update dmov"
+	print "idle: update dmov"
         self.updateDmov()
       if self.updateReadbackFlag == True:
-        #!print "idle: update readback"
+        print "idle: update readback"
         self.updateReadbacks()
       if self.syncSoftTargetFlag == True:
-        #!print "idle: sync soft targets"
+        print "idle: sync soft targets"
 	self.syncSoftTargets()
 
 if __name__ == "__main__":