add return value for generateKey()