updata

virtual function