abstract dao added