set standard visibility to hidden, clean include hierarchy.
this is recommended for shared libraries