- added simple canon logic