moved board functionality to a dedicated class