changed profiler's design for supporting OTF