more work on SwapStream