better supporting dataframe row indexing