digraph G {
  compound = true

  main [ style = solid ]
  quick_bliss [ style = solid ]
  quick_goal [ style = solid ]
  bliss [ style = solid ]
  goals [ style = solid ]
  check_db [ style = solid ]
  quit [ style = solid ]

  subgraph cluster_main {
    label = "main menu"
    main -> quick_bliss [ style = "dashed" ]
    main -> quick_goal [ style = "dashed" ]
    main -> bliss [ style = "dashed" ]
    main -> goals [ style = "dashed" ]
    main -> quit
    main -> check_db [ style = "dashed" ]
  }

  subgraph cluster_bliss {
    label = "bliss menu"
    long_form_bliss [ style = "dashed" ]
    view_past_bliss [ style = "dashed" ]
    update_past_bliss [ style = "dashed" ]
    bliss_to_main -> main [ lhead = cluster_main, style = "dashed" ]
  }

  subgraph cluster_goals {
    label = "goal menu"
    set_goal [ style = "dashed" ]
    check_goals [ style = "dashed" ]
    edit_goal [ style = "dashed" ]
    goals_to_main -> main [ style = "dashed", lhead = cluster_main ]
  }

  subgraph cluster_check_db {
    label = "check_db menu"
    get_list # [ style = "dashed" ]
    get_all # [ style = "dashed" ]
    convert_all_to_markdown [ style = "dashed" ]
    convert_one_to_markdown [ style = "dashed" ]
    check_db_to_main -> main [ lhead = cluster_main, style = "dashed" ]
  }

  bliss -> long_form_bliss [ style = "dashed", lhead = cluster_bliss ]
  goals -> set_goal [ style = "dashed", lhead = cluster_goals ]
  check_db -> get_list [ style = "dashed", lhead = cluster_check_db ]
}
