silly 2d vs 3d dimensional switch, handling 2d data currently raises a NotImplementedYetError