add basic namespace functions
handle visibility stuff
add missing const useage
Merge pull request #3 from Doomsta/feature/namespace

Feature/namespace