Complete refactored
Complete refactor
Documentation was updated