adding curl, audio, and breaking out more shaders