Changed the update functionality so the default behavior is to only update values set by the user. Also removed a special case function that I had added last commit. It is no longer needed as it was to be the function to call to get the new behavior as default.
Merge pull request #13 from haddow777/master

Set the new update behaviour as the default behaviour