item categories and small refactor