discuss the DFDProgram