OOP sample restructure