Updated description of program architecture