New refactored version of the project, OOP.