allow for custom parsers to be supplied