made generation in js