Updated the documentation and refactored the code
Added the docs