workable version.
shortcommings:
1. cannot selfupgrade
2. take time to load data mm_show_dialog