Add preliminary adapter architecture