improved fft interface