added an auth component to allow permission checking and rejection for