rework bitswap to reflect discussion on PR #32