change proc parse to allow for flexible procs