Feature/implement generic adapter 3184