1.2.2 swap_custom