refactor dao&model