update adapter pattern