Changed the type of categories from Set<integer> to list<integer>. added default constructer