Revert "Revert "Implemented multiple categories""

This reverts commit 5a227d4abf570f0d465fd7dc411ccdb382b507e6.