O2 model functions