no need for while here at all... if the condition matches we are going to untarget something and return... and if not we are going to pass flow through to the next targeting check