why is programming zero based outline