- Further refactoring
- Basic documentation added