a stab at sampling w/ mix of random & blocked #221

`data.itervalues()` is possibly beneficial here given the potential size of `data`.