defined the dao interface