rework for new shader