tidied up the fft routine