 
     call = @kloud.start { machineId: machine._id }
 
-    call.timeout ComputeController.timeout
-
     .then (res)=>
 
+      log "start res:", res
       @eventListener.addListener 'start', machine._id
-      log "start res:", res
-
-    .catch @errorHandler call, 'start', machine
+
+    .timeout ComputeController.timeout
+
+    .catch (err)=>
+
+      (@errorHandler call, 'start', machine) err
+
 
 
   stop: (machine)->

        status      : response.state
        percentage  : 100

    .catch @errorHandler call, 'info', machine


  requireMachine: (options = {}, callback = noop)-> @ready =>


    call = @kloud.stop { machineId: machine._id }

    .then (res)=>

      log "stop res:", res
      @eventListener.addListener 'stop', machine._id

    .timeout ComputeController.timeout

    .catch (err)=>

      (@errorHandler call, 'stop', machine) err



  StateEventMap =
