detailed category implementation with parent and sub category