updating to handle uniforms less stupidly