advanced LineFollower