Added register_or_get_role