Added virtual to the member functions