implem perf refactor
heuristic refactor
Merge branch 'feature-tspimpl' into develop