Shader refactor