intermediate generator