Major Redo

A more logical and organized version of the parser