add Page class & tests