input-output done