moved generation infrastructure down to hqmf2js