added namespace nanounit, exception test use local variable, clean up
macros just suck