added profiling features