type dao improve