Rewrite the whole project