Added recursive compare function
Added better overwrite behavior, doc diffs