add DAO layer