random generator added