Typo
Throw an exception on error
Added functionality for users that implment RoleInterface