addedd abstract page class