complete Page class