better organize the DFT