Refactoring + Added pure OpenGL renderer