better error reporting and more useful names for shader related things