working on FFT