hopefully finished basic board constructor