main diagram