added category manager abstract class