split out parsing