always generate key