typos
restrucuring: sections are now subclasses of PageElement instead of Document;
Use of traits for shared functionality.