add udpto function