TODO: dynamic index by category