Add adapter pattern