split commands to separate classes
fix docs
better tests and changes detection
do not use mirror command in snapshot
use docopt