Several imprvements to FOLLOW_AND_SHOOT
Optimizing FOLLOW_AND_SHOOT