back port from oblog