Program design - global understanding