# Why need rho in two-arm experiment?

I am currently reading about the two-arm experiment in the DeclareDesign library. I realize that this is probably a very basic question, but I’m honestly confused about declaration of the `population` and `potential_outcomes` code:

``````population <- declare_population(N = N, u_0 = rnorm(N), u_1 = rnorm(n = N,
mean = rho * u_0, sd = sqrt(1 - rho^2)))

potential_outcomes <- declare_potential_outcomes(Y ~ (1 -
Z) * (u_0 * control_sd + control_mean) + Z * (u_1 * treatment_sd +
treatment_mean))
``````

Here are my questions:

1. For defining the population, I’m confused about why we need `rho` at all. What does this do? I just thought that the code would ensure the `u_0` and `u_1` are the same like when `rho` = 1 (not sure why we wouldn’t want `u_0` and `u_1` to be the same). This is what I thought this code would look like:
``````population <- declare_population(N = N,
u_0 = rnorm(N), # Take mean = 0, sd = 1
u_1 = u_0) # Make sure u_0 and u_1 are the same
``````
1. For `potential_outcomes`, I’m somewhat confused about this piece of the code: `u_0 * control_sd + control_mean` and this piece `u_1 * treatment_sd + treatment_mean`. What is this code trying to accomplish? I feel like I need a better grasp so I can adjust it in future designs.

Thanks in advance for the help!

Hello all, I am still needing help with this question. Any assistance would be greatly appreciated!