Refactored into components
Starting documentation generation