Further implementation of the whole adapter