negative numbers, fixes to parser.java