update cannon