add homemade FFT as a backup option, small changes