use generic repo