array diff WIP
functional tests pass
clean up array diff algorithm
minor tweak
unit test pass