clean up by using a generator generator