small changes
add diff Function
added some features