self-repository