general dao architecture figured out