1. adjust architecture
2. add support for multi-language
3. adjust relationship of views modules and controllers