started refactoring to generalize board implementation