notes on program structure 9617106