added class factory for ioDevice library