rough draft, do i really need to make a parser for each subtype? yes.