- introduce Page/PageImpl