* Restructure for better readability
* Rearrange the functions to be more easily found for a reviewer
* Implement README.md