rewrote deserialization so it can now handle nested Serializablez; can now handle vectors of first class citizens as fields