changing abstract repository from public to internal