fleshed out board logic