added shoot(), cannonball