Better parsing, still nowhere near completion