change the way generators work to allow more than one