category model implemented