renamed base abstract class.