user enhancement

if you change the material it re-calculates