add tests for detecting if the original object was modified and make them pass