add key generator