fix -Wvisibility warnings with clang

Now everything compiles with no warnings! yay!