fixed parser and added tests to break diagonal