Fixing circular include issues.
Refactoring and cleanup.
Website basics.