updated project structure to allow for macro compilation