articles repository refactoring