still working on the generate stuff