added all tests. not all passes. need to check if the tests are wrong or the parser