same for site generation