new command class (not finished)