rework util and add des base object