Changed the way in which commands are parsed and executed