overhaul
profiling + inner product speed up