basic reusable opengl app struct added