Modified

This works fine. Need to still handle reading partially updating. The
previous one had a lot of issues when I figured what was going on. It
didn't work on a Linux Machine.