Implemented basic command pattern