new categories and refactoring