add version update function