Saving Improvements

I've cleaned up the save method, and added another test.