new reference generation