Updates to introduce shaders. Still working on this.