still need to write Network::clone