Restructured into parser and tests to get around compilation timing problems during test phase