adapter.h/c added