convert serialization/deserialization to use field data, clean resultant fallout
clean up a few warnings