some note add virtual function sample