transparently create or save repositories