digraph G {

  rnn [label="1st level RNN" shape=box]

  subgraph cluster0 {
    label = "time step 0"

    sent0 [label="sentence"]
    sent1 [label="sentence"]

    rnn1 [label="2nd level RNN" shape=box]

    sent0 -> rnn1
    sent1 -> rnn1
  }

  subgraph cluster1 {
    label = "time step 1"

    sent2 [label="sentence"]
    sent3 [label="sentence"]

    rnn2 [label="2nd level RNN" shape=box]

    sent2 -> rnn2
    sent3 -> rnn2
  }

  subgraph cluster2 {
    label = "time step 2"

    sent4 [label="sentence"]
    sent5 [label="sentence"]

    rnn3 [label="2nd level RNN" shape=box]

    sent4 -> rnn3
    sent5 -> rnn3
  }


  para0 [label="paragraph info 0"]
  para1 [label="paragraph info 1"]
  para2 [label="paragraph info 2"]

  rnn1 -> para0
  rnn2 -> para1
  rnn3 -> para2

  para0 -> rnn
  para1 -> rnn
  para2 -> rnn

  chapter [label="chapter info"]
  rnn -> chapter
}
