some adapter api