add base class BasicIO