started implementing tree diff