article model refactoring