NewPeer now handles nil