implemented Category model