ensuring board is updated
player abstraction and some decoupling