refactored daos