Added classes for managing shaders