OOP object oriented programming for simulation