Refactor categories and add category picker