updated O and I