One of the main goals of object-oriented languages (OOLs) is to unify their universe:{\em ``every entity of the language is an object.''}The {\em class} concept, however, usually does not followthis wish: a class being not a real object, i.e., created from a class.The {\em metaclass} concept introduced in Smalltalk-80,attempts to give classes a first class citizenship but complicates theinstantiation scheme without solving its fundamental limitations:the only partial specification of the class at the metaclass level,and the fixed number of meta-levels.Some more recent approaches, as in Loops and then CommonLoops,tend towards a better unification, but reveal the same limitations.We propose to go one step further and present an ultimate new modelfor an optimal simplification of the {\em class/object} concept,while keeping the {\em class} abstraction.In this model, implemented by ObjVlisp\footnote{        This research was supported by the ``Object group'' of the        Greco de Programmation, CNRS, France.},every object is an instance of a class,and a class is a true object fully specified at the meta-level.A {\em metaclass} is a true class inheriting from another one.Because ObjVlisp is built on a reflective architecture,the user has  uniform access and control to all the levels of thelanguage: class level, metaclass level\ldotsHe can add new levels and the metaclass links can be created indefinitely.Finally, we suggest to clarify the Smalltalk terminology with anew definition for {\em class variables}:the instance variables of a class - treated as an object -become the class variables of this class, explicitly expressed at the metaclass level.