very high-level outline