page generation okay. still wip