describe P2NFFT