io middleware (experimental)