Refactoring

  - added documentation