added ShaderManager class