added back get_diff