passes structures to callbacks now;