Almost finished parser