Created a superclass for part 2