refactored contactdaoimpl