Begin to separate shaders logic