add generate key screen and other changes