A Confidential QR Code Approach with Higher Information Privacy

In present times, barcode decoders on mobile phones can extract the data content of QR codes. However, this convenience raises concerns about security issues when using QR codes to transmit confidential information, such as e-tickets, coupons, and other private data. Moreover, current secret hiding techniques are unsuitable for QR code applications since QR codes are module-oriented, which is different from the pixel-oriented hiding manner. In this article, we propose an algorithm to conceal confidential information by changing the modules of the QR Code. This new scheme designs the triple module groups based on the concept of the error correction capability. Additionally, this manner can conceal two secret bits by changing only one module, and the amount of hidden confidential information can be twice the original amount. As a result, the ordinary data content (such as URL) can be extracted correctly from the generated QR code by any barcode decoders, which does not affect the readability of scanning. Furthermore, only authorized users with the secret key can further extract the concealed confidential information. This designed scheme can provide secure and reliable applications for the QR system.


Introduction
Quick Response (QR) codes are widely used in our daily lives since they are convenient and can accommodate a large amount of data [1,2]. Mobile devices can scan the QR code and obtain the data content for public transmission. However, when the information requires privacy for the individual (e.g., e-coupons and e-tickets), current QR Code technologies cannot address the security problems [3][4][5][6]. For example, in 2011, Taiwan High Speed Rail (THSR) released a trial of e-ticketing, in which users could download a QR code after purchasing a ticket via smartphones. These codes replaced paper tickets for entering and exiting the train gate. However, although e-ticketing makes the ride smoother and more environmentally friendly, it also makes it easier for people with bad intentions to forge fake tickets. The security of QR code e-tickets thus remains an unsolved question. Accordingly, it is necessary for companies or e-ticketing systems to hide or protect sensitive QR code content, allowing only authorized users to retrieve it [7].
However, many studies on concealing confidential information have focused on protecting the ownership of digital images or on embedding secrets into digital images [8][9][10][11]. These approaches applied steganography techniques based on traditional media instead of embedding or protecting the QR code directly. Moreover, QR codes have standard encoding and decoding specifications and need to be quickly decoded by scanning devices QR code and B i be the i-th block of QR code, in which i = 1, 2, . . . , n. Based on the error correction propriety of QR codes, this new scheme limits the change amount of QR modules to less than half of E. As a codeword consisting of eight modules, we can calculate the maximum change amount of the QR modules C as (1) Let S be the confidential stream encrypted with the key K. Here, K is the secret key of the system dealer. Then the length of S, l s , can be determined as follows: As shown in Table 1, QR version 3 and error correction level Q can be taken as an example. Using the number of error correction codewords, E = 36, we can learn that C = 144 and that the length of the confidential stream S is l s = 288.

Preliminary Process
A QR code is given with data content (such as URL) and the confidential stream. According to QR specification, let E be the number of error correction codewords of the QR code and Bi be the i-th block of QR code, in which i = 1, 2, ..., n. Based on the error correction propriety of QR codes, this new scheme limits the change amount of QR modules to less than half of E. As a codeword consisting of eight modules, we can calculate the maximum change amount of the QR modules C as Let S be the confidential stream encrypted with the key K. Here, K is the secret key of the system dealer. Then the length of S, ls, can be determined as follows: As shown in Table 1, QR version 3 and error correction level Q can be taken as an example. Using the number of error correction codewords, E = 36, we can learn that C = 144 and that the length of the confidential stream S is ls = 288. To make S evenly embedded in the QR code, the proposed system firstly divides S into n segments, Si, where i = 1, 2, ..., n. Hence, each segment Si has ls/n bits. Each segment Si is subsequently divided into groups, in which each group consists of two bits. Assume that group Si,j indicates the j-th group of the i-th segment, for i = 1, 2, ..., n and j = 1, 2, ..., C/n. With the key K, the system can randomly select 3C/n modules from the block Bi of the  To make S evenly embedded in the QR code, the proposed system firstly divides S into n segments, S i , where i = 1, 2, . . . , n. Hence, each segment S i has l s /n bits. Each segment S i is subsequently divided into groups, in which each group consists of two bits. Assume that group S i,j indicates the j-th group of the i-th segment, for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. With the key K, the system can randomly select 3C/n modules from the block B i of the QR code, i = 1, 2, . . . , n. The selected modules afterward are divided into groups, in which each group consists of three modules. Assume that group B i,j is the j-th group of the i-th block, for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. B i,j = 0 means the QR module is white, and B i,j = 1 means the QR module is black. Take QR version 3 and error correction level Q. For example, C = 144 and l s = 288. Due to the number of blocks being two (n = 2), S is divided into segments S 1 and S 2 . Each segment has l s /n = 288/2 = 144 bits. The 144 bits of each segment can be paired to derive 72 groups. That is, there are S 1,1 , S 1,2 , . . . , S 1,72 for S 1 and S 2,1 , S 2,2 , . . . , S 2,72 for S 2 . On the other hand, the system with the key K can randomly choose 3C/n = 216 modules from blocks B 1 and B 2 of the QR code. These 216 modules afterward can be divided into 216/3 = 72 groups, that is, B 1,1 , B 1,2 , . . . , B 1,72 for B 1 and B 2,1 , B 2,2 , . . . , B 2,72 for B 2 .  Figure 2 shows the flowchart of the concealment process. The confidential segment S i,j can be embedded into the corresponding QR block B i,j for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. Let the bits of S i,j be {s 2 , s 1 } and the modules of B i,j be {b 3 , b 2 , b 1 }. The difference value, d, can be learned by using S i,j and B i,j :

Concealment Process
(3) Here, the notation ⊕ indicates the exclusive-or (XOR) operator. First, consider the value of b 3 : when b 3 = 0, adjust a module according to the following formula: Case 6: if d = 2, unchanged.
Repeat the above algorithm to process S i,j and B i,j , for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. As a result, the designed system can finally generate the marked QR code with private information. It is worth noting that general users can only obtain the data content (such as URL) on the QR code by using familiar barcode readers but will not know the private information hidden in it. Furthermore, QR codes are meaningless images to the human eye. Thus, changing the QR modules does not cause any suspicion to users. Due to the proposed approach modifying the modules within the limit of the error correction capability, the readability of the generated marked QR code can be guaranteed.  Figure 2 shows the flowchart of the concealment process. The confidential segment Si,j can be embedded into the corresponding QR block Bi,j for i = 1, 2, ..., n and j = 1, 2, ..., C/n. Let the bits of Si,j be {s2, s1} and the modules of Bi,j be {b3, b2, b1}. The difference value, d, can be learned by using Si,j and Bi,j:

Concealment Process
Here, the notation ⊕ indicates the exclusive-or (XOR) operator. First, consider the value of b3: when b3 = 0, adjust a module according to the following formula: Repeat the above algorithm to process Si,j and Bi,j, for i = 1, 2, ..., n and j = 1, 2, ..., C/n. As a result, the designed system can finally generate the marked QR code with private information. It is worth noting that general users can only obtain the data content (such as URL) on the QR code by using familiar barcode readers but will not know the private information hidden in it. Furthermore, QR codes are meaningless images to the human eye. Thus, changing the QR modules does not cause any suspicion to users. Due to the proposed approach modifying the modules within the limit of the error correction capability, the readability of the generated marked QR code can be guaranteed.

Extraction Process
To retrieve the confidential stream, the authorized users with the key K are allowed to further reveal the S from the generated QR code in the following way. According to the QR version and the error correction level, the extraction process can learn the number of error correction codewords E, the number of error correction blocks n, and the values of C and ls by Equations. (1) and (2). Firstly, the system can extract the assigned 3C/n modules for each QR block, Bi, by using the key K, where i = 1, 2, ..., n. The 3C/n modules, afterward, are divided into groups by gathering three modules into one group. Thereby, there are C/n groups for each block Bi. Let Bi,j be the j-th group of the i-th block, for i = 1, 2, ..., n and j = 1, 2, ..., C/n. Bi,j = 0 means the QR module is white, and Bi,j = 1 means the QR module is black.

Extraction Process
To retrieve the confidential stream, the authorized users with the key K are allowed to further reveal the S from the generated QR code in the following way. According to the QR version and the error correction level, the extraction process can learn the number of error correction codewords E, the number of error correction blocks n, and the values of C and l s by Equations. (1) and (2). Firstly, the system can extract the assigned 3C/n modules for each QR block, B i , by using the key K, where i = 1, 2, . . . , n. The 3C/n modules, afterward, are divided into groups by gathering three modules into one group. Thereby, there are C/n groups for each block B i . Let B i,j be the j-th group of the i-th block, for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. B i,j = 0 means the QR module is white, and B i,j = 1 means the QR module is black. Assuming {b 3 , b 2 , b 1 } are the QR modules of group B i,j , one can extract the corresponding confidential bits {s 2 , s 1 } with the following equation: The results {s 2 , s 1 } are the confidential groups corresponding to S i,j . The group S i,j indicates the j-th group of the i-th segment, for i = 1, 2, . . . , n and j = 1, 2, . . . , C/n. Repeat all the steps according to the above decoding method and extract all {s 2 , s 1 } from B i,j , for i = 1, 2, . . . , n, and j = 1, 2, . . . , C/n. Finally, the authorized users with the key K can decrypt S and obtain the confidential stream.

Experimental Results
The designed concealment QR system can embed confidential information and retain the readability of the generated QR code. In particular, the proposed algorithm takes three modules as a group, and only one module being changed can help hide two bits of confidential information. Therefore, this method can effectively reduce the adjustment to the QR modules, enhance the embedded sensitive information, and retain the error correction capability of the QR code. In the following, the essentials of the confidential capacity, the probability of modified QR modules, and the readability of the generated marked QR code are discussed. Table 2 shows the payload of the confidential stream under QR code versions 1, 10, 20, 30, and 40. The larger the QR version is, the more QR size and data content there are. There are four error correction levels, L, M, Q, and H, for all QR versions. With a larger level, the value of C is higher as defined in Equation (1). For instance, in QR version 10, C is 288 modules for error correction level L, and C is 896 modules for error correction level H. The designed triple module group system can enhance the maximum amount of confidential information to l s = 2 × C. The last column of Table 2 lists the capacity of confidential information l s under different QR versions. Since the proposed approach can reduce the changes to the QR modules, it can significantly increase the amount of embeddable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream l s (bits). In QR version 10, the embeddable payload l s = 576 bits when the error correction level is L, and l s = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation The designed triple module group system can enhance the maximum amount of confidential information to ls = 2  C. The last column of Table 2 lists the capacity of confidential information ls under different QR versions. Since the proposed approach can reduce the changes to the QR modules, it can significantly increase the amount of embeddable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the function pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: In the concealment process, each group Bij will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. The other 1/3 chance is that the original modules remain unchanged in case 1 and case 6. Therefore, the modification ratio γ of the proposed approach can be derived as 2/3C. in Table 3 indicates the total number of QR modules (except the function pattern modules, the format, and the version information modules). The value of C/ 022, 24, x FOR PEER REVIEW 6 of 10 The designed triple module group system can enhance the maximum amount of con-fidential information to ls = 2  C. The last column of Table 2 lists the capacity of confi-dential information ls under different QR versions. Since the proposed approach can re-duce the changes to the QR modules, it can significantly increase the amount of embed-dable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the func-tion pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: In the concealment process, each group Bij will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. The other 1/3 chance is that the original modules remain unchanged in case 1 and case 6. Therefore, the modification ratio γ of the proposed approach can be derived as 2/3C. denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/ y 2022, 24, x FOR PEER REVIEW 6 of 10 The designed triple module group system can enhance the maximum amount of con-fidential information to ls = 2  C. The last column of Table 2 lists the capacity of confi-dential information ls under different QR versions. Since the proposed approach can re-duce the changes to the QR modules, it can significantly increase the amount of embed-dable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the func-tion pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: In the concealment process, each group Bij will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. The other 1/3 chance is that the original modules remain unchanged in case 1 and case 6. Therefore, the modification ratio γ of the proposed approach can be derived as 2/3C.  The designed triple module group system can enhance the maximum amount of con-fidential information to ls = 2  C. The last column of Table 2 lists the capacity of confi-dential information ls under different QR versions. Since the proposed approach can re-duce the changes to the QR modules, it can significantly increase the amount of embed-dable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the func-tion pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: In the concealment process, each group Bij will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. The other 1/3 chance is that the original modules remain unchanged in case 1 and case 6. Therefore, the modification ratio γ of the proposed approach can be derived as 2/3C. The designed triple module group system can enhance th fidential information to ls = 2  C. The last column of Table dential information ls under different QR versions. Since the duce the changes to the QR modules, it can significantly inc dable confidential information. Furthermore, it can be obse version and error correction level can help embed more confi version 10, the embeddable payload ls = 576 bits when the er ls = 1792 bits when the error correction level is H. Therefore more confidential information by increasing the QR code v level.

Modification
The notation Ϻ in Table 3 indicates the total number of Q tion pattern modules, the format, and the version information denotes the percentage of maximum changeable modules for the rates are around 10%, 19%, 28%, and 32% for error corre respectively. The modification ratio γ in Table 3 represents th modules of our generated QR code. We can observe that th that of C/Ϻ for different QR versions and error correction value γ can be calculated as: In the concealment process, each group Bij will meet one 1 to case 6. Considering cases 2 to 5, the probability of each The other 1/3 chance is that the original modules remain unc Therefore, the modification ratio γ of the proposed approach In the concealment process, each group B i,j will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. The other 1/3 chance is that the original modules remain unchanged in case 1 and case 6. Therefore, the modification ratio γ of the proposed approach can be derived as 2/3C. The designed triple module group system can enhance the maximum amount of con-fidential information to ls = 2  C. The last column of Table 2 lists the capacity of confi-dential information ls under different QR versions. Since the proposed approach can re-duce the changes to the QR modules, it can significantly increase the amount of embed-dable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the func-tion pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: In the concealment process, each group Bij will meet one of the conditions from case 1 to case 6. Considering cases 2 to 5, the probability of each group being changed is 2/3. module changes, the original QR data content can be recovered correctly. As the results in Table 3  The designed triple module group system can enhance the maximum amount of con-fidential information to ls = 2  C. The last column of Table 2 lists the capacity of confi-dential information ls under different QR versions. Since the proposed approach can re-duce the changes to the QR modules, it can significantly increase the amount of embed-dable confidential information. Furthermore, it can be observed that increasing the QR version and error correction level can help embed more confidential stream ls (bits). In QR version 10, the embeddable payload ls = 576 bits when the error correction level is L, and ls = 1792 bits when the error correction level is H. Therefore, the developers can embed more confidential information by increasing the QR code version and error correction level.

Modification
The notation Ϻ in Table 3 indicates the total number of QR modules (except the func-tion pattern modules, the format, and the version information modules). The value of C/Ϻ denotes the percentage of maximum changeable modules for QR codes. We can note that the rates are around 10%, 19%, 28%, and 32% for error correction levels L, M, Q, and H, respectively. The modification ratio γ in Table 3 represents the average rate of the changed modules of our generated QR code. We can observe that the values of γ are lower than that of C/Ϻ for different QR versions and error correction levels. Here, the theoretical value γ can be calculated as: = (%) (5) under all QR versions and error correction levels. Therefore, it can guarantee that one can correctly decode and reveal the original QR data content (such as URL). Moreover, the readability of the generated marked QR code can reduce the risk of suspicion. Furthermore, the receivers with the key K are authorized to extract the confidential stream of the marked QR code.

Comparison
The schemes [12,13] transform the QR image into the frequency domain and requires computer assistance. Additionally, the watermark in the frequency domain may encounter capture problems, resulting in incorrect watermark results. Methods [14,15] use the adjustment of the module's height and width to embed the watermark. Their generated barcodes require additional equipment to calculate the module's height and width differences. Moreover, existing barcode scanners cannot directly identify and extract the secrets of their generated barcodes, thus reducing practicality [12][13][14][15].
In contrast, the schemes [16,17] and our approach conceal the secrets in QR codes by adjusting the QR modules directly. The computational complexity of the methods [16,17] and our system is lower than the related works [12][13][14][15]. Our designed concealment and extraction operations are based on the QR code specifications and can be utilized on mobile applications or scanning devices without additional equipment. A typical scanning device can read the QR modules directly from the generated QR code. Figure 3 demonstrates the proposed system with the related QR module modification schemes regarding the embeddable capacity of the confidential secrets. The X-axis represents the four error correction levels under different QR versions, and the Y-axis represents the confidential stream (bits) that can be carried. The payload of the confidential stream of Chiang et al.'s method [16] is equal to the maximum changeable QR modules C (as in Equation (2)). For the same QR version, Luo et al.'s scheme [17] can embed more payloads of the confidential stream into the QR code. The embedding capacity of the method presented in [17] is 3/2×C, i.e., 1.5 times that of the method presented in [16]. the results in Table 3 demonstrate, the γ values of the designed method are less than the values of C/Ϻ under all QR versions and error correction levels. Therefore, it can guarantee that one can correctly decode and reveal the original QR data content (such as URL). Moreover, the readability of the generated marked QR code can reduce the risk of suspicion. Furthermore, the receivers with the key K are authorized to extract the confidential stream of the marked QR code.

Comparison
The schemes [12,13] transform the QR image into the frequency domain and requires computer assistance. Additionally, the watermark in the frequency domain may encounter capture problems, resulting in incorrect watermark results. Methods [14,15] use the adjustment of the module's height and width to embed the watermark. Their generated barcodes require additional equipment to calculate the module's height and width differences. Moreover, existing barcode scanners cannot directly identify and extract the secrets of their generated barcodes, thus reducing practicality [12][13][14][15].
In contrast, the schemes [16,17] and our approach conceal the secrets in QR codes by adjusting the QR modules directly. The computational complexity of the methods [16,17] and our system is lower than the related works [12][13][14][15]. Our designed concealment and extraction operations are based on the QR code specifications and can be utilized on mobile applications or scanning devices without additional equipment. A typical scanning device can read the QR modules directly from the generated QR code. Figure 3 demonstrates the proposed system with the related QR module modification schemes regarding the embeddable capacity of the confidential secrets. The X-axis represents the four error correction levels under different QR versions, and the Y-axis represents the confidential stream (bits) that can be carried. The payload of the confidential stream of Chiang et al.'s method [16] is equal to the maximum changeable QR modules C (as in Equation (2)). For the same QR version, Luo et al.'s scheme [17] can embed more payloads of the confidential stream into the QR code. The embedding capacity of the method presented in [17] is 3/2C, i.e., 1.5 times that of the method presented in [16].  Our designed triple module group approach can effectively reduce the alteration to the QR modules. Therefore, the proposed method can enhance the embedding capacity of the confidential information to l s = 2 × C. Figure 3 shows that the embeddable confidential stream of our proposed system is higher than methods [16,17]. In addition, the new system can effectively hide more secrets with larger QR versions and higher error correction levels.
Only an authorized recipient with the key K can further decode and achieve the confidential streams S correctly in terms of security. However, the intruder may use the brute-force attack to infer the contents of S without knowing the key K. We used the bruteforce attack to evaluate the security of the related QR methods [16,17] and the proposed system. Table 4 lists the computations required for the brute-force attack in different QR versions and error correction levels. Since the confidential payloads l s of methods [16,17] are C and 1.5C, respectively, the cracking probability ρ is 2 −C and 2 −1.5C . On the other hand, the l s of our proposed method is 2C, and the cracking probability ρ is 2 −2C . Accordingly, the security of the proposed method is higher than that of the methods presented in [16,17] in the brute-force attack. Furthermore, as the QR code version and the error correction level increase, the security also increases.