two-element and three-element cases are important to test