redisign logic add subcategory