Seperate the `batchput` logic into its own function

Also, a bit of memory cleanup and readme updates.
Merge pull request #2 from sphia/refactor/seperate-batchput

Separate the `batchput` logic into its own function