add abstract repositories