fix generate()