Refactor Object Oriented