added adapter interface

* refactored adapter creation
* added test for invalid adapter type
Merge pull request #16 from mixkorshun/feature/adapter-interface

Adapter Interface