implement repository selection