to show how to handle the new added virtual function