Should be an abstract class.