abstracting out specific parsing