Rename some controller, add project feature and code rewrite