some profiling
some more tweaking