[code] add category support