This implementation will create our cube lattice correctly but it uses a dictionary for edges. If we are smart, we can use an array for edges and we can do everything in one collection of loops. That implementation will be tried nexyt.