preliminary externalizable support, add double and byteArray types