Seperate command parsing and running