I'm working on something now, where I do think I want consolidate this and package_requirement.  move it out to util