update io and structure