pulled some logic out of recordparser.parse and put it in helper methods