can read arbitrary collection