refactor and shadertroubles