refactor dao
merge