added JsResult.recoverTotal besides recover and a few corrections