Re done all the code and went OOP