gitignore
material header
material implementation