dynamically read topology information from file