added support for raw characters and rearranged macro expansion