moved some methods from the repository interfaces to one generalized interface