finish the basic parser