fixed category generation
some property optimizing