issue #1: add OptCommand
switch
remote .run()
cleanup
close #1: Merge branch 'optcmd'

* optcmd:
  cleanup
  remote .run()
  switch