board generation