almost done with generator