refactor commands

WIP to refactor the command classes.