Added Material class and preparing for merge upstream