added description of program structure