rework i/o modules to celery