Finished parser. Testing needed.