New solution, some changes to swap_case