- separated materials TOC into its own bean
- generalised MaterialNode