Responding to feedback

Function now re-assigns itself on the first go round to avoid doing the
check every time it is called