basic read/write
refactor
refactor
persist head
pass in stores, rename write -> put