read works but not sure how generic computation for indirect is
Before merge.
Merge branch 'brownyoda' into cevans