refactored option 6