Taking care of dead ends, not allowed to traverse nodes more than the number of openings it has; need to take care of loops and to take care of corner case when the next node does not update --> should use a priority queue to find the closest node that has not been explored to current position by finding the difference between the start distances