more improvments to FFT