index: allow a Selection instance to be passed in