Changed diff logic, added new package, feature #1 and #2 ready