rearchitected basic parser, added more commands