set_io and let propagate automatically