Added different shaders implementation