this is getting complex (as we are discussing). Should do this only if the benchmarks indicate it is worth it.