refactoring
working on different connection providers