implement AbstractCommand.class + update