ver. Taihou

Rewrite logic and add new features.