added google's diff match patch lib