some shader stuff
error handling / preventing