turn this puppy into a generator