Implement diff