make repo generic