cat_types refactoring