define pure virtual functions to simplify debugging