2D banding was due to initial structure. Enclosed debug code, no known bugs!