change envelope implementation to time-raised-to-power