refactor adaptor