ref: #250 #96 #93 #95 #90 #264 #265
require so that permissions can be dynamic ref: #250 #96 #93 #95 #90 #265 closes #264