add a glObject abstract base class