private void createPath(MazeNode currentNode){
		visit(currentNode);
		ArrayList<Coordinate> neighbours = currentNode.getNeighbours();
		removeEdgeNodes(neighbours);
		removeVisitedNodes(neighbours);
		
		if(neighbours.size() != 0){
			// shuffle list so next node to select is random
			Collections.shuffle(neighbours);
			
			// choose a neighbouring node from current spot
			// get the neighbours of new chosen node
			// if it has 2 or more neighbours go in that direction
			for(Coordinate neighbour : neighbours){
				MazeNode randomNode = getNode(neighbour.getX(), neighbour.getY());
				ArrayList<Coordinate> nextNeighbours = randomNode.getNeighbours();
				removeEdgeNodes(nextNeighbours);
				removeVisitedNodes(nextNeighbours);
				
				if(nextNeighbours.size() > 1 && numOfVisitedNeighbours(randomNode) < 2){
					createPath(randomNode);
					neighbours.remove(randomNode);
				}
			}
		}
	}