added a profiler/logging framework