Modernizing information programs: patterns for action