added FFT support