rewrite以及一些基本流程