Main Cannon implementation
main cannon implementation