     for obj, idx in slotsArray
       scheme.slots[idx] = obj.slot
     scheme.next = parseInt(_.max(_.keys(scheme.slots))) + 1
-    saveSchemes()
+    saveCurrentScheme()
     programDone()
 
 cmds.extend schemeCommands

    schemeMsg "#{chalk.red 'removing'} path #{scheme.slots[idx]} in slot #{chalk.yellow idx}"
    delete scheme.slots[idx]
    doAutoCompact() if autoCompact
    saveSchemes()
    programDone()

  swapSlots: (idx1, idx2) ->

    doAutoCompact() if autoCompact and idx > scheme.next
    scheme.next = parseInt(_.max(_.keys(scheme.slots))) + 1
    schemeMsg "#{chalk.green 'saving'} slot #{chalk.yellow idx} as #{chalk.grey _path}"
    saveCurrentScheme()
    programDone()

  saveSlotsRecurse: (_path) ->
