reworking the shaders