workable fft and ifft