fixed cannon bug