more basic frontend, and fix some typo or bugs