proc parse function