99% done with shaders