abstract the DAO