try to improve cat
update dcat and cat_t
dcat optimized