refact 4 shader change