update profiling function