create base class for readers