rename walkers to accurately reflect actual implementation
*seems* better
add support for subset traversal of a graph