added a whole bunch of tests to make sure that the parsing works in all cases