utility function updated