Fleshed out Parsing, should write better exception messages