refactoring article model