Refactoring extracting dao interfaces
Add client handling