Add generate page function