Working fixed swap, floating todo