fft implementation / recursive approach 60 lines