use LoadFromBufferAuto