Merge Separation of Dao, refactor Dao