use new generateKey function