use standard naming convention for onData, onEnd