add new commands (wip)
wip refactoring