repo interface