more elaborate comments in main()