modified freq to use wrap-generator to allow time-varying freq