refactored to follow advantages,disadvantages,example format