used abstract method/class for page