update dao, a new general dao