add repository interfaces