Main page generation