Added profiling and stuffs