[ ] write a monolithic header file [x] refactor example code using composition [x] remove draw class entirely [x] create shader classes with polymorphism [x] optimize shader/primative performance (repeat myself!) [ ] finish implementing gradient shaders to primatives [ ] implement buffer shader [ ] implement more primatives