added categories functionality