More changes and refinements... Each Shape can only have one material (mainly because I'm not very smart I fear), so 3D shapes must be made up of 2D shapes so I have to refactor that