Modify session(almost finished) & io(unfinished)