Refactoring

Split large modules and documentation into smaller ones