added circular path finding