fixed some stuff from vet and lint. i like underscores though, so those stay
refactor into transaction, move datastore code into own file
gofmt doesnt allow tabs now, about to fix but committing first
removed gofmt because they don't allow tabs anymore
just about to potentially nuke everything with expand
fixed go fmt
add tests, format time correctly
added tests, which are passing