refactor solve for 2, 3, and 4