basic implementation of bitswap, needs testing/verification that it works