added working FFT part