- improve generate key
- improve UI