Use `positioning` can control the individual vertical position of nodes. But is there any way to control the default vertical spacing?

 \begin{tikzpicture}[node distance = 1cm, auto]
 \node [block] (1st) {1st};
 \node [block, right of=1st] (2nd1) {2nd1};
 \node [block, above=0.7cm of 2nd1] (2nd2) {2nd2};
 \node [block, below of=2nd1] (2nd3) {2nd3};
 \node [block, right of=2nd1] (3rd1) {3rd1};
 \node [block, above of=3rd1] (3rd2) {3rd2};
 \node [block, above of=3rd2] (3rd3) {3rd3};
 \node [block, below of=3rd1] (3rd4) {3rd4};
 \node [block, below of=3rd4] (3rd5) {3rd5};
 \path [line] (1st) -- (2nd1);
 \path [line] (2nd1) -- (2nd2);
 \path [line] (2nd1) -- (2nd3);
 \path [line] (2nd2) -- (3rd3);
 \path [line] (2nd1) -- (3rd1);
 \path [line] (1st) -- (2nd1);
 
 \end{tikzpicture}

Like this. I changed the vertical position of `2nd2` but others remains. Do I have to add individual vertical spacing control of every nodes?