abstract dao