partially refactored for a name change to catalog