cleaning up code:  adding DO macro for scanning children, and semtrex character set helper