make topology-name to be an argument; make component-id optional