Refactoring and docs (#7) * Conflicts fixed * Refactoring and adding docs * Refactoring and Docs * Refactoring and Docs * Refactoring and Docs * Refactoring and Docs * Refactoring and adding docs * Refactoring and Docs * Refactoring and adding docs * Refactoring and adding docs