binary swap tested and function. success