fix extend so it doesn't 'use up' the original generator