Changed base class to abstract, added funtion to subclass