Refactored to factory and command
Refactored to factory and command
changed command return type and added unknown command feedback