added shooting function