added isDeepEqual and rolledback isEqual