make it more elegant (and amenable to first argument indexing)