add virtual destructor because of iObject