Added a lot of theory.