Still searching for best diff implementation.