refactor dao
refactor dao