Separated dao and implementation