optimize udict