added tests
removed swaps