reworking fft ops class hierarchy