Most logic from first tutorial is implemented - need to add callbacks for glut