improved random key generators