Adding adapters abstraction