base class and doubleton