updates tests and readme, optimizes operations when pulling data from a peer by batching