added topology stuff