Switch to adapter pattern