todo about swap