rely on diff to manage differences