Added headers and source for subclasses