Life: OOP version