o point structure o point routines