add adaptor support