完成MVC, perfect