Start point to rewrite tracing algorithm