Refactor parsers to be easier to add