refactoring , added dao objects