key generator classes