generalize repo