reverted back to more of a OOP design, made the Renderer class more universal