Beta code, all the implementations are done.

TODO
- Refactor code
- Improve Explanations
- Organize imports (follow PEP8)
- Offer code without the notebook