Added in upload class and abstract base class