generates page model