updating DAO to be more efficient and bulk fetches