input output modified