adding log instead of fmt for output. adding RunOptions, a bit of cleanup.
breaking API changes.