Traverse implementation.