More refactoring for structure - just need to move some common bits out into material.less