Becktk/adapterrefactor

adapter refactor with hack