added getindex(chain). returns a dataframe row(s), depending on the index. all tests pass.