partial impl of adapter, untested