generation almost works