fleshing out the generator