public List<Tuple<Integer,Integer>> pathAroundCorner( List<Tuple<Integer,Integer>> o ) {
		
		if ( o.size()>=5 && getDistance(o.get(0),o.get(4)) == 3) {
			// Move away from 4th move?
			Tuple<Integer,Integer> startMove = o.get(0);
			Tuple<Integer,Integer> lastMove = o.get(4);
			Tuple<Integer,Integer> addedMove1 = o.get(0);
			Tuple<Integer,Integer> addedMove2 = o.get(4);

			if ( startMove.x < lastMove.x ) {
				addedMove1 = new Tuple<Integer,Integer>(addedMove1.x-1,addedMove1.y);
				addedMove2 = new Tuple<Integer,Integer>(addedMove1.x+1,addedMove1.y);
			}
			if ( startMove.x > lastMove.x ) {
				addedMove1 = new Tuple<Integer,Integer>(addedMove1.x+1,addedMove1.y);
				addedMove2 = new Tuple<Integer,Integer>(addedMove1.x-1,addedMove1.y);
			}
			if ( startMove.y < lastMove.y ) {
				addedMove1 = new Tuple<Integer,Integer>(addedMove1.x,addedMove1.y-1);
				addedMove2 = new Tuple<Integer,Integer>(addedMove1.x,addedMove1.y+1);
			}
			if ( startMove.y > lastMove.y ) {
				addedMove1 = new Tuple<Integer,Integer>(addedMove1.x,addedMove1.y+1);
				addedMove2 = new Tuple<Integer,Integer>(addedMove1.x,addedMove1.y-1);
			}
			o.add(1, addedMove1);
			o.add(5, addedMove2);
		}
		return o;
	}