parser mostly done now