attempted refactoring Conway to OOP