more work on the main()