old_contents: #pylint: disable=line-too-long
  from tensornetwork.network_components import Node, Edge, CopyNode, BaseNode, NodeCollection
  #pylint: disable=line-too-long
  from tensornetwork.network_operations import norm, conj, copy, replicate_nodes, transpose, split_node, split_node_qr, split_node_rq, split_node_full_svd, reachable, check_connected, check_correct, get_all_nodes, get_all_edges, remove_node, contract_trace_edges, get_subgraph_dangling, reduced_density, switch_backend
  #pylint: disable=line-too-long
  from tensornetwork.network_components import contract, contract_copy_node, contract_between, outer_product, outer_product_final_nodes, contract_parallel, flatten_edges, split_edge, slice_edge, get_all_nondangling, get_all_dangling, flatten_all_edges, flatten_edges_between, get_parallel_edges, get_shared_edges
  from tensornetwork.backends.base_backend import BaseBackend
  from tensornetwork.network_components import connect, disconnect
  from tensornetwork.ncon_interface import ncon, ncon_network
  from tensornetwork.version import __version__
  from tensornetwork.visualization.graphviz import to_graphviz
  from tensornetwork import contractors
  from tensornetwork.utils import load_nodes, save_nodes
  from tensornetwork.matrixproductstates.infinite_mps import InfiniteMPS
  from tensornetwork.matrixproductstates.finite_mps import FiniteMPS
  from tensornetwork.backend_contextmanager import DefaultBackend, set_default_backend
  from tensornetwork import block_sparse
  from tensornetwork.block_sparse.blocksparsetensor import BlockSparseTensor, ChargeArray
  from tensornetwork.block_sparse.index import Index
  from tensornetwork.block_sparse.charge import U1Charge, BaseCharge, Z2Charge, ZNCharge
  from tensornetwork.matrixproductstates.dmrg import FiniteDMRG
  
new_contents: #pylint: disable=line-too-long
  from tensornetwork.network_components import Node, Edge, CopyNode, BaseNode, NodeCollection
  #pylint: disable=line-too-long
  from tensornetwork.network_operations import norm, conj, copy, replicate_nodes, transpose, split_node, split_node_qr, split_node_rq, split_node_full_svd, reachable, check_connected, check_correct, get_all_nodes, get_all_edges, remove_node, contract_trace_edges, get_subgraph_dangling, reduced_density, switch_backend
  #pylint: disable=line-too-long
  from tensornetwork.network_components import contract, contract_copy_node, contract_between, outer_product, outer_product_final_nodes, contract_parallel, flatten_edges, split_edge, slice_edge, get_all_nondangling, get_all_dangling, flatten_all_edges, flatten_edges_between, get_parallel_edges, get_shared_edges
  from tensornetwork.backends.base_backend import BaseBackend
  from tensornetwork.network_components import connect, disconnect
  from tensornetwork.ncon_interface import ncon, ncon_network
  from tensornetwork.version import __version__
  from tensornetwork.visualization.graphviz import to_graphviz
  from tensornetwork import contractors
  from tensornetwork.utils import load_nodes, save_nodes
  from tensornetwork.matrixproductstates.infinite_mps import InfiniteMPS
  from tensornetwork.matrixproductstates.finite_mps import FiniteMPS
  from tensornetwork.matrixproductstates.dmrg import FiniteDMRG
  from tensornetwork.matrixproductstates.mpo import FiniteTFI, FiniteXXZ
  from tensornetwork.backend_contextmanager import DefaultBackend, set_default_backend
  from tensornetwork import block_sparse
  from tensornetwork.block_sparse.blocksparsetensor import BlockSparseTensor, ChargeArray
  from tensornetwork.block_sparse.index import Index
  from tensornetwork.block_sparse.charge import U1Charge, BaseCharge, Z2Charge, ZNCharge
  
subject: add FiniteTFI, FiniteXXZ and FiniteDMRG to top level imports (#585)