Let's actually make the parser properly for once.