refactored patrol behaviour