xf function updated