it is now possible to generate a surface from any 2D array