A wide variety of chemical and physical simulations rely on accurate treatment of excited states. One of the most popular methods for calculating excited state properties of electronic systems is time-dependent density functional theory (TDDFT). Unfortunately, with current approximations, TDDFT cannot treat multiple or charge transfer excitations well. Our group develops ensemble DFT, a variational approach to excited state problems, which treats single, multiple, and charge transfer excitations on more equal footing. We develop the foundations of the theory and apply it to model systems, atoms, and ions.