CHG: refactor adapter