added structure for topology logic