adding user application key generator and unit test