- add categorized.class and few refactor