added category functionality