added a static function to create a copy-on-write board from an old list-of-rows board