Changing it to be more module code OOP