updated with working parser and fourth test case