fixes to get this working on AVR again
Replaced buffer erasure with union type for SOERecord