moved command parser to own class
created command handling classes
misc refactoring