makes sure the shooting method is not called repeatedly