implemented the writer, ran go fmt, minor changes to reader, added some todos to make it better... that need to get done later