added profiling
added profiling