seperate setup from deploy, and make new cmd install = deploy -> setup.

also eliminate the exception in command functions, use callback instead