redesign command classes