start core rewrite