refactoring and new commands

ok