created residual domain classes, introduce first dao class