add profiling to important methods