Many additions including handling multiple nodes and serialization support.