```python
def row_key(name: str) -> str:
    return name[0].upper()

def index_rows(names: list) -> dict:
    if not names:
        return {}
    
    index = {name[0]: [name] for name in names}
    for name in names[1:]:
        key = name[0]
        if key not in index:
            index[key] = []
        index[key].append(name)
    
    return index
```