(added) basic repository interfaces and implementations