Use a more modular pattern for AQ