adding repositories and factories