Refactor create extra permissions

There were already too pull-requests but they kind of got lost somehow :)

See #158 and #189.