article design refactored