A Novel Security Methodology for Smart Grids: A Case Study of Microcomputer-Based Encryption for PMU Devices

. Coordination of a power system with the phasor measurement devices (PMUs) in real time on the load and generation sides is carried out within the context of smart grid studies. Power systems equipped with information systems in a smart grid pace with external security threats. Developing a smart grid which can resist against cyber threats is considered indispensable for the uninterrupted operation. In this study, a two-way secure communication methodology underpinned by a chaos-based encryption algorithm for PMU devices is proposed. The proposed system uses the IEEE-14 busbar system on which the optimum PMU placement has been installed. The proposed hyperchaotic system-based encryption method is applied as a new security methodology among PMU devices. The success of results is evaluated by the completeness of data exchange, durations, the complexity of encryption-decryption processes, and strength of cryptography using a microcomputer-based implementation. The results show that the proposed microcomputer-based encryption algorithms can be directly embedded as encryption hardware units into PMU and PDC devices which have very fast signal processing capabilities taking into considerations the acceptable delay time for power system protection and measuring applications and quality metering applications which is 2ms and 10ms, respectively. While proposed algorithms can be used in TCP or UDP over IP-based IEEE C37.118, IEC 61850, and IEC 61850-90-5 communication frameworks, they can also be embedded into electronic cards, smartcards, or smart tokens which are utilized for authentication among smart grid components.


Introduction
A smart grid is defined as the provision of conventional electric power grids with modern information technologies. For smart grids, the most fundamental goal can be explained as the achievement of economic and clean energy generation on a global scale [1,2]. Conventional power grids are currently being equipped with intelligent devices and systems which, in general, are data-collecting devices, distribution controller units, data manager, electric market monitoring systems, remote terminal units, circuit breakers, human-machine interface equipment, network management tools and routers, network concentrators, phasor measuring units, smart meters, and protection relays [3]. ese devices function in risky decision-making operations such as energy cutoff, commissioning, and load shedding which play crucial roles in fulfilling the desired operations as well as monitoring and measuring activities in the grid. e installation of such devices makes power systems vulnerable to external cyber threats. If the two-way communication is blocked due to a cyberattack, there may be unforeseeable damages in the grid. erefore, developing security tools which are resistant to cyber threats is indispensable. Having the grid resistant to cyber threats is a strategic precaution to prevent unforeseeable damages in the event that two-way communication is blocked. e security concept in the smart grid should be regarded within a wide range as to the grids consisting of various types of communication systems such as GSM networks, fiber optic lines, WiMAX, RS-232 and RS-485, cable lines, radio frequency lines, and power system communication lines [4]. e development of high-security hardware and computing infrastructure to ensure that all these hardware and systems work reliably is a matter of working separately within smart grid operations.
By using various and these complex infrastructures, the synchrophasor technology is used to monitor and control the real-time power system condition by using synchrophasor measurements across large geographical areas in real time with very low latency. ese measurements are driven by IEEE C37.118 and IEC 61850 synchrophasor communication frameworks whose security is crucial as any incorrect information can cause severe damage to physical equipment. However, nearly all these communication frameworks have no built-in security mechanism, and they have restricted communication to only the local network. Among these communication frameworks, we consider that IEC 61850 is a complete communication system that addresses modeling of power system components, abstracting of services, and communication protocols [5], but only IEC 61850-90-5 communication framework uses the built-in encryption algorithm and periodic refreshing of secret keys which can easily detect unauthorized modifications [6]. On the contrary, IEC 61850-90-5 communication framework has three times larger packet size due to metadata and carrying complete decoding information in each packet compared to IEEE C37.118.1 and IEEE C37.118.2 frameworks.
Today, various state-of-the-art methodologies have started to be used for enhancing the security level of power grids. One of the important applications in grid security is to connect each grid component under a software-defined network (SDN) in which its configuration is specified according to power system component vulnerabilities to cyberattacks [7]. e symmetrical and asymmetric encryption-based privacy and authentication methods are also currently used among PLC and RTU units in grid automation systems [8]. Another security application in the grid is based on the control of grid components, especially controlling the data package of PMUs, with regard to damaging data by external or internal attacks or malfunction reasons by using the Kalman filter method [9]. Protection against cyberattacks is also achieved by using secure VPN technology [10]. All these methods fulfil quite complex and tightly linked rules to meet the specified security goals. Doing all this requires high computational cost, high memory, and power consumption. is prevents the spread of these security systems and causes them to remain in a limited number of devices and regions. In this context, chaotic stream ciphers can be considered as an alternative for block ciphers with regard to both low complexity and low resource consumption [11]. e issues of chaos and chaotic systems are the most complex dynamic behavior known in nonlinear systems.
ey are a field of science that help explain nonlinear systems. Chaos-based engineering applications have emerged and have resulted in significant improvements in control [12,13], communication [14], artificial intelligence [15,16], and genetic algorithm [17] areas in the recent years. ey have also been used as a random number generator [18][19][20] in cyber security applications such as encryption [21][22][23] and data hiding [24].
In this work, a novel microcomputer with a hyperchaotic system encryption method is proposed to allow PMU devices to communicate with each other in a secure way in the smart grid. According to our best knowledge, this is the first use of microcomputer-based encryption in a smart grid environment. e proposed security methodology is based on a cryptographic engine ensuring a secure communication layer for PMU and phasor data concentrator (PDC) components. For this purpose, application server software, which communicates with IEEE C37.118.1 compliant PMU devices via the Wireshark platform in real time, is also developed. e results are evaluated by the completeness of data exchange, encryption-decryption durations, and strength of cryptography. e results show that very fast and complex encryption capabilities of the proposed microcomputerbased encryption method can be easily used for ensuring secure communication among smart grid components which have very narrow time intervals such as PMUs.
is paper is organized as follows: in Section 2, methodologies for modern power system analysis are introduced. In Section 3, a novel security methodology for smart grids is given. In Section 4, the nonlinear system used in the proposed method and its dynamical analysis are presented. Section 5 is devoted to random number generator design, and its statistical tests are presented in Section 6. e details of the PMU data encryption application and its security analysis are also provided in this section. Finally, the paper is concluded in Section 7.

Methodologies for Modern Power
System Analysis e coordination and reliability of the power system depend on establishing a harmony between power and information infrastructure to create a real-time two-way communication network in the generation, transmission, and distribution of electricity. Two-way communication technologies, control systems, and computer processing are key for smart grids. Advanced sensors, meters, programmable relays, and automated feeder switches are some of modern pieces of equipment used in smart grids. Healthy operation of the power system depends on measurements of operational data at substations continuously. Within this context, it can be said that PMUs are widely acknowledged as one of the most promising developments in the field of real-time monitoring of power systems. e ability of PMUs to calculate synchronized phasors for voltages and currents instantaneously and more accurately has encouraged their consistent proliferation in power system networks all over the world.
where ω and φ are the resemble frequency of the signal in radians per second and phase angle in radians, respectively, while X m is the peak amplitude of the signal. Figure 1 represents all parts of a pure sinusoidal signal. Phasor representation is only possible for a pure sinusoidal signal. In practice, a waveform is often corrupted with other signals of different frequencies. Extracting a single frequency component of the signal, Fourier transform is used. For sampled data extraction, discrete (DFT) or fast transform (FFT) is used [25]. A x(t) sinusoid signal with frequency kf 0 representation into Fourier series is shown as follows: Here, the Fourier series coefficients a k and b k measure the amount of cos(2)πkf 0 t and sin(2)πkf 0 t present in the function x(t). Phasor representation of the signal becomes as e complex form of equation (3) is constituted as follows: Using the relationship of the Fourier series coefficients with DFT, the phasor representation of the k th harmonic component is given by x(nΔT) � x n and θ � 2π N , (6) where N is the number of samples in the data window, n is the sample number, x n is the input sample, and θ refers to the sample angle. en, equation (6) becomes as follows: x n cos(knθ) − j sin(knθ) .
Sin and cosine parts of x n are separated, respectively, as X kc and X ks in the form of x n cos(knθ), x n sin(knθ).

(8)
Finally, X k is used to represent the phasor in most of the phasor computations. In phasor calculation process, it is necessary to update the phasor estimation with newer data.
is is the simplest way for continuous phasor calculation and known as the nonrecursive phasor update method.
As seen in Figure 2, phasor 1 is calculated with samples n � 0, . . ., N − 1, while phasor 2 is calculated with samples n � 1, 2, . . ., N. θ is the angle between successive samples based on the period of the fundamental frequency. Here, n is the sample number, and N is the number of samples in the data window. e phasor calculations are performed fresh for each window without using any data from the earlier estimates; this algorithm is the simplest way and known as a "nonrecursive algorithm." In equation (10), r � 0, 1, 2, 3; when r represents the present state, (r − 1) represents the past state. As seen in equation (10), recursive estimation current output, X N+r , depends on the previous output, X N+(r− 1) , and the current input, x N+r . Recursive phasor estimation is faster compared to nonrecursive phasor estimation as phasor calculation is not performed in each step. If the sine wave is not continuous, there is a small error in phasor updating. en, in case of recursive phasor estimation, this small error is accumulated resulting in much larger error over time.

Principles of Phasor Measurement Units.
PMUs which are equipped with global positioning system (GPS) receivers take highly precise measurements of voltages and currents within defined timestamps. Here, the GPS receivers coordinate the synchronization of several current and voltage Complexity measurements [26]. PMUs use recursive algorithm for calculating symmetrical components of voltage and current such as symmetrical component distance relay (SCDR) [27].
e GPS [28] is a system of 36 satellites to produce time signals at the Earth's surface. 24 satellites are used each time for generating time signals. A GPS receiver measures distance using the travel time of radio signals. One microsecond precision is a suitable range of measuring power frequency voltages and currents [27].
Since the introduction of PMUs to power systems, power system designers have been looking for using the ability of PMUs in order to observe the system in a better way. Today, gathering and merging information of PMUs are the best fault detection method in power transmission lines [28]. e processing data of PMUs are used to improve stability coordination [29], power system state estimation [30], remedial action schemes [31], and disturbance monitoring [32]. On the contrary, linearization mainly occurs when the state vector, as well as the PMU measurements, is expressed in rectangular coordinates.

IEEE-14 Bus Model and PMU Placement Algorithm.
It can be stated that the most important condition of increasing reliability and stability of a power system depends on establishing a continuous and accurate measurement system. Kirchhoff's current and voltage laws are based on the fundamental principle that electrical quantities are phasors. Similarly, it is possible to assume that the electrical signal is moving at the speed of light and that the instantaneous voltage and current value of the system are possible by combining all voltage and current phasor measurements taken with an accurate timer. PMU devices, which are customized as phasor measuring devices in power systems, can detect the voltage and current phasor information of the grid. e optimum placement of PMU devices should be considered due to the fact that a great economic cost is required for the installation of PMUs at every busbar in a power system [33,34]. Instead of installing PMUs to every busbar of the power system, the busbars with high dynamics and intense variability of conditions are chosen for installation. In this context, firstly, the placement of PMU  Complexity devices on the IEEE-14 bus system has been established by the depth-first search method [35][36][37][38]. In this study, an IEEE-14 busbar system is used, and the optimum PMU placement is installed on the studied busbar system. en, a microcomputer with a hyperchaotic system encryption method is proposed as a new security methodology among PMU devices. e open-source PSAT power flow analysis tool is used for the placement of the secure communication-based PMUs in the most suitable number of the IEEE-14 busbar system. According to the depth-first search method, the number of PMU devices that are placed is 6, and the most suitable busbars for PMU placement are busbars 1, 4, 6, 8, 10, and 14, respectively. Figure 3 shows the placement of PMUs on the IEEE-14 busbar power system.
anks to the use of these devices, it is determined that 16 current phasors can be measured on the studied power system which consists of 14 busbars and 20 lines. e list of measurable phasor lines of the PMU-installed power system is given in Table 1, respectively.
Similarly, another kind of IEEE test system can be used for case studies. In such a test scenario, the most important difference would be to determine the number of PMUs that would allow full monitoring of the system and to define appropriate PMU and PDC data exchange procedures within the IEEE C37.118.1 protocol [39]. For example, in the case of IEEE-39, IEEE-118, and IEEE-300 were used as a test system, only a different data exchange scenario would be created over the placement of 14, 39, and 73 PMU devices, respectively, which would provide full monitoring of the studied test system using some optimal placement algorithms [40]. Figure 4 shows the structure of the data packet of an IEEE C37.118.1 compliant PMU device. e data packet structure includes the device ID, the GPS timestamp, the second fraction, user-defined flag commands to send the packet within the communication protocol standards, the phasor data, the rate of data, and a 16-bit CRC data integrity controller. e phasor data consist of frequency (f ), voltage magnitude (m V), voltage phase angle (δ V), current magnitude (m I), and current phase angle (δ I) of the busbar.

A Novel Security Methodology for Smart Grids
Getting a correct phasor calculation in the studied IEEE- protocol. In this study, the Wireshark platform is only responsible for interfacing data repository of PMU devices via a predetermined IP and socket address. A client-based application at PMU sides and server-based application software at the PDC side handle together the microcomputer-based hyperchaotic encryption processes of captured PMU data. As seen in Figure 5, the Rasp3 unit operates as one of the PMU devices that encrypts the digital phasor packet data in harmony with the IEEE C37.118.1 protocol using the chaos encryption engine. While connecting remained PMU units on the IEEE-14 bus system except for Rasp3, the PDC server performs microcomputer-based encryption by gathering data using the Wireshark platform. e encryption and decryption processes are performed by the client and server using the proposed microcomputer-based cryptographic engine.
As seen in Figure 6, studied real-time data acquisition of PMU devices is acquired by the IEEE C37.118.1 compliant Wireshark platform. e application server manages both PMU and PDC sides with a chaotic cryptographic engine.
PDC server is responsible for determining appropriate initial conditions for the chaotic system and other parameters for secure communication.
e communication is carried out with sessions in which 1 Mbit random numbers generated by the chaotic system are used in the stream cipher. To facilitate this secure communication, PDC, first, generates random numbers using the 5D hyperchaotic system and tests them against NIST-800-22 statistical tests for randomness. en, it sends these parameters to the PMU as a part of cryptographic key. PMU uses the parameters to generate the same sequence using the same chaotic system. en, PMU data are encrypted with a stream cipher by means of the tested random numbers.

The Used Nonlinear System and Its Dynamical Analysis
In this study, a 5D hyperchaotic Lorenz system is used [41][42][43]. e 5D hyperchaotic system and its dynamical analysis are given in this section. Equilibrium points, Lyapunov, and bifurcation analysis are examined for dynamical analysis. Also, phase portraits are shown in Section 5. e 5D hyperchaotic Lorenz system is set as follows: where w is the fifth state variable and q is a positive real parameter. 5D system (11) has three positive, one negative, and one zero Lyapunov exponents.    6 Complexity e equilibria of five-dimensional hyperchaotic Lorenz system (11) can be found by assuming _ x � 0, _ y � 0, _ z � 0, _ u � 0, and _ w � 0 and solving the following equation: us, this system has only zero equilibrium point: E 0 (0, 0, 0, 0, 0). e Jacobian matrix of the linearized system of the hyperchaotic system at the only equilibrium E 0 is We study the dynamics around the original equilibrium point E 0 when the critical bifurcation values of parameters are taken as p � 2 and q � 8. So, the characteristic equation of the system becomes as follows: By using wolf algorithm [44], Lyapunov exponents of the 5D hyperchaotic system are calculated as 0.4580, 0.3371, 0.0415, 0.0000, and 12.5046.
For the values of p > 0 and q < 2970, the only equilibrium E 0 is an unstable saddle-node point due to the presence of eigenvalues with positive real parts. e bifurcation diagrams are also inspected to identify the chaos in the simulations. e visualization of dynamic behaviors and solutions of the 5D hyperchaotic system are gathered by using MATLAB ODE45 solver, and the phase portraits of the hyperchaotic system are depicted in Figure 7 which shows the bifurcation diagrams in terms of p parameter varying between − 7.5 and 2.5 values by keeping the other parameters fixed. e initial states of the 5D hyperchaotic Lorenz system are determined as x(0) � 0, y(0) � − 0.01, z(0) � 9, u(0) � 1, and w(0) � 0. For a step size of 0.005, the chaos appears in two regions where parameter p is less than − 1.5 and it is greater than 1.
In Figures 8(a) and 8(b), it is also revealed that the system falls into a hyperchaotic situation as it can be seen that it has distinct features in its Lyapunov exponents. In this context, bifurcation and Lyapunov exponent diagrams confirm each other.

RNG Design with a 5D
Hyperchaotic System. Many chaotic systems are used to generate pseudo-random numbers as a source of entropy because they are complex and very sensitive to the initial conditions. In this section, an RNG design is proposed for PMU data encryption which is implemented in Raspberry 3. A 5D hyperchaotic system developed in the proposed RNG design is given in equation (11), where σ, r, β, p, and q are the parameters and x, y, z, u, and w are the state variables. To visualize dynamic behaviors and solutions of the proposed 5D hyperchaotic system, the differential equations given in equation (11) are worked out using the MATLAB ODE45 function. e obtained phase portraits of the 5D hyperchaotic system are depicted in Figure 9 for x, y, z and x, y, w. For this experiment, the parameters are set to σ � 10, r � 28, β � 8/3, p � 2, and q � 8 as well as the initial state is chosen as (0, − 0.01, 9, 1, 0). RNG design steps using the proposed 5D hyperchaotic system are given in Algorithm 1. As it can be seen in the algorithm, for RNG design, parameters and initial values of the hyperchaotic system are needed. Any change in these parameters and initial values results in different random numbers. erefore, initial conditions are crucial in RNG. Next, the time step (Δh) is determined in order to discretize the hyperchaotic time series using the Runga-Kutta-4 (RK4) method. e floating number outputs (x, y, z, u, and w) are converted to 32-bit binary numbers [45]. e last 16 bits of these binary numbers which must pass NIST-800-22 randomness test are used to generate 1 Mbit random numbers which are then used in one communication session. For this aim, 1 Mbit is extracted from the last 16 bits of each output and tested. If these numbers do not pass the test, then the last 8 bits of each output are considered for the test.
To prove the randomness of the generated number series, NIST-800-22 tests are employed. NIST-800-22 has 16 different tests such as runs, discrete Fourier transform, and linear complexity test. ese tests need a minimum of 1 MBit binary numbers. For successful results, the P value must be greater than 0.001 for all NIST-800-22 tests [46]. NIST-800-22 is applied to the random numbers generated in Step 11.

Statistical Tests.
e NIST-800-22 test results of obtained random numbers from y, z, u, and w are shown in Table 2. e random numbers obtained from y, z, u, and w successfully passed all the tests, but the random numbers from w are only used for PMU data encryption.
ENT is another randomness test that has five different tests, which define the randomness of bit sequences, proposed by Walker [47]. e tests include arithmetic mean, entropy, correlation, chi-square, and Monte Carlo pi estimation [48]. e average values of the ENT test results of the random numbers from y(8), z (16), u (8), and w (16) are shown in Table 3 in which successful results can be seen for all tests. e proposed microcomputer with a hyperchaotic system method is compared with some studies in the literature in Table 4. When the results in the table are considered, it is seen that the numbers obtained provide randomness for ENT tests. e proposed method produces good results in general. Stoyanov et al. had the best results in the arithmetic mean test because the ideal result is 127.5, but the entropy test result is not good according to other methods except from [50]. Entropy, correlation, and Monte Carlo test results are the best in [51] with 7.9999, 0.000108, and 3.14062, respectively [49,50]. In the proposed method, test results are suitable and acceptable for cryptographic applications because the random numbers passed all tests.
In this section, the PMU data encryption and decryption system using the RNG designed with the 5D hyperchaotic system and that passed all the NIST-800-22 tests is presented. e block diagram of the encryption processes is given in Figure 10. One PMU generates 108 byte data. Within the application server, digital chaos keys are created and ready for use in packet encryption. e encrypted packets generated by the encryption are sent back to the application server via the Ethernet port of Raspberry Pi.
An example of PMU data consisting of 108 characters is as follows. Also, original and encrypted PMU data input/ output ports in Raspberry Pi 3 are given in Figure 11. aa01003600f14893334f003 d70a4080047c3659cbfc8 e73947c3631cbfc8e52b47c365574027a0 d447c368643f065 a850000000042a9 In the encryption application, the PMU data are converted to a binary format. In Figure 12, some bits of binary 864-bit original PMU data series, produced from the Raspberry Pi 3 output, on the oscilloscope screen are given. e binary PMU data are encrypted with the tested RNG which obtained the 5D Lorenz hyperchaotic system using a stream cipher scheme based on XOR.    Some bits of encrypted binary 864-bit PMU data are shown Figure 12. e size of the encrypted data is the same as 864 bits because the encryption process is done bit by bit.
Also, PMU data consisting of all encrypted characters are as follows. Some of them are shown in Figure 13 as binary data.
c db 9940e7acc83304a7b45eb40617c53409cb959ff461 539f8fba898b9ea df7 a048f d1 d14b1be5b995b0576e407 e df 6eea721f14b40f In the decryption process, the same random numbers used in the encryption are needed. e parameters and initial values of the hyperchaotic system are very important. If the same random numbers cannot be obtained, it will cause different values, and true PMU data decryption will be impossible. After true random numbers and use of XOR, the decrypted PMU data can be taken.

Histogram Analysis.
In the histogram analysis, rates of 1s and 0s in the original and encrypted data are evaluated.
ere are 864 bits of data as 1s and 0s in PMU data. If the difference between 1s and 0s is very little or nothing, the result of encryption is quite successful. Histogram distribution (number of 1s and 0s) of PMU data is given in Figure 14 for original and encrypted data. e number of 0s is 690, and the number of 1s is 174 in the original PMU data. Encrypted PMU data bit series contains 425 0s and 439 1s. e difference between bits decreased from 516 to 14 after the encryption.

Key Length Analysis.
In encryption applications, the length of the key also determines the security level. e numbers of differential equations, initial values, and system parameters make key lengths longer. For one-variable nonlinear system, the length of the key can be 10 14 values. Chaotic system (11) in this paper has 5 (x, y, z, u, and w) 10 70 and 5 (σ, r, β, p, and q) 10 70 different values, thus 10 140 key length in total. e encrypted PMU data with the proposed chaotic system (11) will be highly secure because of the enormous key length. e decryption of PMU data only with this long key reveals the security level of the proposed system.

Key Sensitivity Analysis.
Chaotic systems have very complicated and sensitive dynamic features, so they have come into prominence also in security applications such as cryptology and data hiding. e same parameters are needed for the decryption in many applications, and thus, the chaotic system and all of its properties must be clearly known such as initial conditions and parameters. e true results cannot be obtained in a small mistake. It will lead to different results because of this problem.

Encryption-Decryption Times and Memory Usage.
Besides little encryption-decryption time, memory usage, and usability in real-time applications, another significant criterion is speed. We used 64-bit quad-core ARM Cortex-A53 microprocessor-based "Raspberry Pi 3" which has 1.2 GHz, 4 cores, and 1 GB RAM microcomputer board in this work and compared some stream cipher algorithms with our chaos-based method. Table 5 details the encryption, decryption times and memory usage. Salsa20 algorithm spends the most time for encryption and decryption. Encryption time is 311 ms, while decryption time is 314 ms. Also, considering the size of memory it occupies, one can conclude that it is quite disadvantageous for real-time applications.
Trivium method produces good results in terms of time criteria, but memory usage is not good according to Pycube algorithm. In the microcomputer-based technique, on the contrary, encryption-decryption times and memory usage are very good according to other methods. Encryption time is 0.097 ms, while decryption time is 0.113 ms. Memory usage is 408 bytes in our method. ese results are very suitable for real-time applications, especially in smart grids.

Conclusion
In this study, it is the first time in the literature using a microcomputer with a hyperchaotic system encryption algorithm for allowing PMU devices used in the smart grid to make secure two-way communication.
e proposed security methodology is realized into a cryptographic engine ensuring a secure communication layer between PMU and PDC components via developed application server software. e application server communicates with IEEE C37.118.1 compliant PMU devices via the Wireshark platform in real time. e results are evaluated by the completeness of accurate data exchange among PMU packages, total time durations of different encryption algorithms, the complexity of encryption-decryption processes by using sensitivity and histogram analyses, and, finally, strength of cryptography with NIST tests. e results show the measured delays of encryption and decryption durations are 0.21 ms in total, the proposed microcomputer-based encryption algorithms can provide a shorter delay while performing encryption and can be directly embedded as encryption hardware units into the encrypted protocol of IEC 61850-90-5 compliant PMU and PDC devices which obligated to acceptable delay time below 3 ms for power system protection and measuring functioning. While proposed algorithms can be used in TCP or UDP over IP-based IEEE C37.118, IEC 61850, and IEC 61850-90-5 communication frameworks, they can also be

Data Availability
All data are generated by the authors. One can repeat their results by the description provided in this manuscript.

Conflicts of Interest
e authors declare that they have no conflicts of interest.