OOP simulation