Introduce logic for Cannon