added range check in shoot