Learndash change user role after completing the course

Got it fixed. Here is the code:

add_action('wp_head', function(){

if(is_user_logged_in()){
    $user = wp_get_current_user();
    if ( in_array( 'pre_subscriber', (array) $user->roles ) ) {
$passed = learndash_user_quiz_has_completed($user->ID, 8731, 8388);
        if($passed){
            // Remove role
            $user->remove_role( 'pre_subscriber' );
            // Add role
            $user->add_role( 'subscriber' );
        }
    }
}}
      );