removed submodules.
added bin keyword
moved macros to seperate namespace