add launch coponent || add a Cache coponent || rewrite app entry as MVC style || fix some bugs