all functions and destructor in cpp::lang::Objects are virtual now