populat cat refactored