def METHOD_NAME(strategy, details, backend, user=None, *args, **kwargs):
    """
    Add extra information to saved user.
    Based on https://github.com/python-social-auth/social-core/blob/3.3.3/social_core/pipeline/user.py#L64
    """
    # User has registered previously.
    if user:
        if backend.name == 'email':
            details['fullname'] = user.full_name()
            details['first_name'] = user.first_name
            details['last_name'] = user.last_name
        return {'is_new': False, 'details': details}
    fields = dict((name, kwargs.get(name, details.get(name)))
                  for name in backend.setting('USER_FIELDS', USER_FIELDS))
    if not fields:
        return None
    # Add graduation year and computing ID. This is extra info not
    # automatically collected by python-social-auth.
    fields['graduation_year'] = strategy.session_get('grad_year', None)
    fields['computing_id'] = kwargs.get(
        'email', details.get('email')).split('@')[0]
    return {
        'is_new': True,
        'user': strategy.METHOD_NAME(**fields)
    }