Added comments and a bit of explanation too.
MAIN macro modified and broken in parts of BEGIN_MAIN and END_MAIN
Added example and modified output string too
Output message changed