collect graph
add transpose, iterators