redefined pure virtual to normal virtual function