added shaders and loading code