Adds functionality to cascade permissions down hierarchy + tests