before input-output modification
before input-output modification