Revert 99bc01a..b72737a

This rolls back to commit 99bc01af81cdd20ce48ba4c62d0177f04ea17e9f.
introduce visibility scopes