more ParserException use
reorder conditions for clarity
renaming
improve error message