more work on connected components interface