create adapter interface