SPSS 19 error message on temporary select if

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

SPSS 19 error message on temporary select if

Joseph Hoffman

Hi fellow SPSS users,
   
I am using IBM SPSS Statistics 19 and obtained the following error message when trying
to use a temporary select if statement:

temporary.
select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,
                   slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,
                   bing_yr,all_yr,
                   gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,
                   maledum,int_age,race,race4,religion6,churchtimes,
                   yrs_ed,empstat,ses_all) = 27).

Error # 4310 in column 42.  Text: )
The numeric argument required for the function specified was not supplied.
Execution of this command stops.

Can anybody tell me what this message really means, or what my error is?

Thanks for any suggestions.

Joe Hoffman
Data Analyst
University at Buffalo
The State University of New York
Research Institute on Addictions
1021 Main Street
Buffalo NY 14203
phone (716) 887-2219
FAX (716) 887-2510
e-mail [hidden email]






Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

Art Kendall
A little trick for finding the column in syntax
type a line below the offending line
123456789
01234567890123456789012345678901^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants

On 11/21/2011 11:43 AM, Joseph Hoffman wrote:

Hi fellow SPSS users,
   
I am using IBM SPSS Statistics 19 and obtained the following error message when trying
to use a temporary select if statement:

temporary.
select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,
                   slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,
                   bing_yr,all_yr,
                   gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,
                   maledum,int_age,race,race4,religion6,churchtimes,
                   yrs_ed,empstat,ses_all) = 27).

Error # 4310 in column 42.  Text: )
The numeric argument required for the function specified was not supplied.
Execution of this command stops.

Can anybody tell me what this message really means, or what my error is?

Thanks for any suggestions.

Joe Hoffman
Data Analyst
University at Buffalo
The State University of New York
Research Institute on Addictions
1021 Main Street
Buffalo NY 14203
phone (716) 887-2219
FAX (716) 887-2510
e-mail [hidden email]






===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Art Kendall
Social Research Consultants
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

Rick Oliver-3
For a start, try putting the "=27" on the other side of the parens.

Rick Oliver
Senior Information Developer
Business Analytics (SPSS)
E-mail: [hidden email]




From:        Art Kendall <[hidden email]>
To:        [hidden email]
Date:        11/21/2011 12:55 PM
Subject:        Re: SPSS 19 error message on temporary select if
Sent by:        "SPSSX(r) Discussion" <[hidden email]>




A little trick for finding the column in syntax
type a line below the offending line
123456789012345678901234567890123456789
01^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants

On 11/21/2011 11:43 AM, Joseph Hoffman wrote:


Hi fellow SPSS users,

 
 
I am using IBM SPSS Statistics 19 and obtained the following error message when trying

to use a temporary select if statement:


temporary.

select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,

                  slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,

                  bing_yr,all_yr,

                  gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,

                  maledum,int_age,race,race4,religion6,churchtimes,

                  yrs_ed,empstat,ses_all) = 27).


Error # 4310 in column 42.  Text: )

The numeric argument required for the function specified was not supplied.

Execution of this command stops.


Can anybody tell me what this message really means, or what my error is?


Thanks for any suggestions.


Joe Hoffman

Data Analyst

University at Buffalo

The State University of New York

Research Institute on Addictions

1021 Main Street

Buffalo NY 14203

phone (716) 887-2219

FAX (716) 887-2510

e-mail
hoffman@...






===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

J. R. Carroll
In reply to this post by Art Kendall
Art,

I thought this as well but did some testing on this - I don't think it's missing an end parenthesis (maybe I missed something). 

I think what might be happening, and Joseph hopefully you can confirm, is that nvalid only works on Numeric variables and not on String variables.

NVALID. NVALID(variable[,..]). Numeric. Returns a count of the arguments that have valid,
nonmissing values. This function requires one or more arguments, which should be variable
names in the active dataset. 
 

As soon as I changed the variables to string I got the same error message and then was able to fix it by changing it back to numeric.

HTH Joseph, I'm curious to know the solution when you find one.


----


J. R. Carroll
Researcher for Hurtz Labs
Instructor at California State University, Sacramento
Research Methods, Test Development, and Statistics
Cell:  (916) 628-4204
          [hidden email]
          [hidden email]



On Mon, Nov 21, 2011 at 10:49 AM, Art Kendall <[hidden email]> wrote:
A little trick for finding the column in syntax
type a line below the offending line
123456789
01234567890123456789012345678901^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants


On 11/21/2011 11:43 AM, Joseph Hoffman wrote:

Hi fellow SPSS users,
   
I am using IBM SPSS Statistics 19 and obtained the following error message when trying
to use a temporary select if statement:

temporary.
select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,
                   slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,
                   bing_yr,all_yr,
                   gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,
                   maledum,int_age,race,race4,religion6,churchtimes,
                   yrs_ed,empstat,ses_all) = 27).

Error # 4310 in column 42.  Text: )
The numeric argument required for the function specified was not supplied.
Execution of this command stops.

Can anybody tell me what this message really means, or what my error is?

Thanks for any suggestions.

Joe Hoffman
Data Analyst
University at Buffalo
The State University of New York
Research Institute on Addictions
1021 Main Street
Buffalo NY 14203
phone <a href="tel:%28716%29%20887-2219" value="+17168872219" target="_blank">(716) 887-2219
FAX <a href="tel:%28716%29%20887-2510" value="+17168872510" target="_blank">(716) 887-2510
e-mail [hidden email]






===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD

Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

David Marso
Administrator
In reply to this post by Joseph Hoffman
One or more of your variables are *STRING* rather than numeric.
--
Joseph Hoffman wrote
Hi fellow SPSS users,

I am using IBM SPSS Statistics 19 and obtained the following error message
when trying
to use a temporary select if statement:

temporary.
select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,
                   slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,
                   bing_yr,all_yr,
                   gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,
                   maledum,int_age,race,race4,religion6,churchtimes,
                   yrs_ed,empstat,ses_all) = 27).

Error # 4310 in column 42.  Text: )
The numeric argument required for the function specified was not supplied.
Execution of this command stops.

Can anybody tell me what this message really means, or what my error is?

Thanks for any suggestions.

Joe Hoffman
Data Analyst
University at Buffalo
The State University of New York
Research Institute on Addictions
1021 Main Street
Buffalo NY 14203
phone (716) 887-2219
FAX (716) 887-2510
e-mail [hidden email]
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me.
---
"Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis."
Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?"
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

Art Kendall
In reply to this post by J. R. Carroll
That seems to be so.
data list list/ id(f2)num1 (f2) num2(f2) str1 (a3) str2 (a3).
begin data
1  1  1 abc abc
2  2  2 def def
3 -1  1 abc abc
4  1 -1 xxx abc
4 -1 -1 xxx xxx
end data.
missing values num1 num2 (-1) str1 str2 ("xxx").
compute okay = nvalid(num1 to str2).
compute gone = nmiss(num1 to str2).
list.
gives that error message!!

However the example under MISSING VALUES in help says
MISSING VALUES V1 (8,9) V2 V3 (0) V4 ('X') V5 TO V9 ('    ').
I CC'd this to [hidden email] as this is an inconsistency.

Art Kendall
Social Research Consultants

On 11/21/2011 2:25 PM, J. R. Carroll wrote:
Art,

I thought this as well but did some testing on this - I don't think it's missing an end parenthesis (maybe I missed something). 

I think what might be happening, and Joseph hopefully you can confirm, is that nvalid only works on Numeric variables and not on String variables.

NVALID. NVALID(variable[,..]). Numeric. Returns a count of the arguments that have valid,
nonmissing values. This function requires one or more arguments, which should be variable
names in the active dataset. 
 

As soon as I changed the variables to string I got the same error message and then was able to fix it by changing it back to numeric.

HTH Joseph, I'm curious to know the solution when you find one.


----


J. R. Carroll
Researcher for Hurtz Labs
Instructor at California State University, Sacramento
Research Methods, Test Development, and Statistics
Cell:  (916) 628-4204
          [hidden email]
          [hidden email]



On Mon, Nov 21, 2011 at 10:49 AM, Art Kendall <[hidden email]> wrote:
A little trick for finding the column in syntax
type a line below the offending line
123456789
01234567890123456789012345678901^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants


On 11/21/2011 11:43 AM, Joseph Hoffman wrote:

Hi fellow SPSS users,
   
I am using IBM SPSS Statistics 19 and obtained the following error message when trying
to use a temporary select if statement:

temporary.
select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,
                   slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,
                   bing_yr,all_yr,
                   gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,
                   maledum,int_age,race,race4,religion6,churchtimes,
                   yrs_ed,empstat,ses_all) = 27).

Error # 4310 in column 42.  Text: )
The numeric argument required for the function specified was not supplied.
Execution of this command stops.

Can anybody tell me what this message really means, or what my error is?

Thanks for any suggestions.

Joe Hoffman
Data Analyst
University at Buffalo
The State University of New York
Research Institute on Addictions
1021 Main Street
Buffalo NY 14203
phone <a moz-do-not-send="true" href="tel:%28716%29%20887-2219" value="+17168872219" target="_blank">(716) 887-2219
FAX <a moz-do-not-send="true" href="tel:%28716%29%20887-2510" value="+17168872510" target="_blank">(716) 887-2510
e-mail [hidden email]






===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Art Kendall
Social Research Consultants
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

David Marso
Administrator
Here is an example of how to solve this.
data list free / a (a) b (a) c (f) d (f).
begin data
a x 1 9
x b 9 1
a b 1 2
end data.
list.
TEMPORARY.
MISSING VALUES a b ("x") c d (9).
COUNT #X =A B ("x").
COMPUTE #nummiss=NMISS(c, d) + #X.
SELECT IF #nummiss=0.
LIST.

A B C D
a b 1 2

Number of cases read:  1    Number of cases listed:  1
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me.
---
"Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis."
Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?"
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

Rick Oliver-3
In reply to this post by Art Kendall
It certainly seems inconsistent, but it is documented:

Missing value functions

• Each argument to a missing-value function (expression, variable name, or constant) must be separated by a comma.

• With the exception of the MISSING function, only numeric values can be used as arguments in missing-value functions.

Rick Oliver
Senior Information Developer
Business Analytics (SPSS)
E-mail: [hidden email] | Phone: 312.893.4922 | T/L: 206-4922




From:        Art Kendall <[hidden email]>
To:        [hidden email]
Date:        11/21/2011 02:39 PM
Subject:        Re: SPSS 19 error message on temporary select if
Sent by:        "SPSSX(r) Discussion" <[hidden email]>





That seems to be so.
data list list/ id(f2)num1 (f2) num2(f2) str1 (a3) str2 (a3).
begin data
1  1  1 abc abc
2  2  2 def def
3 -1  1 abc abc
4  1 -1 xxx abc
4 -1 -1 xxx xxx
end data.
missing values num1 num2 (-1) str1 str2 ("xxx").
compute okay = nvalid(num1 to str2).
compute gone = nmiss(num1 to str2).
list.
gives that error message!!

However the example under MISSING VALUES in help says

MISSING VALUES V1 (8,9) V2 V3 (0) V4 ('X') V5 TO V9 ('    ').
I CC'd this to suggest@... as this is an inconsistency.

Art Kendall
Social Research Consultants

On 11/21/2011 2:25 PM, J. R. Carroll wrote:

Art,

I thought this as well but did some testing on this - I don't think it's missing an end parenthesis (maybe I missed something).

I think what might be happening, and Joseph hopefully you can confirm, is that nvalid only works on Numeric variables and not on String variables.

NVALID. NVALID(variable[,..]). Numeric. Returns a count of the arguments that have valid,
nonmissing values. This function requires one or more arguments, which should be variable
names in the active dataset.
 


As soon as I changed the variables to string I got the same error message and then was able to fix it by changing it back to numeric.

HTH Joseph, I'm curious to know the solution when you find one.


----


J. R. Carroll

Researcher for Hurtz Labs
Instructor at California State University, Sacramento
Research Methods, Test Development, and Statistics
www.jrcresearch.net
Cell:  (916) 628-4204
Email: jrcarroll@...
          jrcarroll@...
          jrc.csus@...



On Mon, Nov 21, 2011 at 10:49 AM, Art Kendall <Art@...> wrote:
A little trick for finding the column in syntax
type a line below the offending line
123456789012345678901234567890123456789
01^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants



On 11/21/2011 11:43 AM, Joseph Hoffman wrote:


Hi fellow SPSS users,

 
 
I am using IBM SPSS Statistics 19 and obtained the following error message when trying

to use a temporary select if statement:


temporary.

select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,

                  slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,

                  bing_yr,all_yr,

                  gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,

                  maledum,int_age,race,race4,religion6,churchtimes,

                  yrs_ed,empstat,ses_all) = 27).


Error # 4310 in column 42.  Text: )

The numeric argument required for the function specified was not supplied.

Execution of this command stops.


Can anybody tell me what this message really means, or what my error is?


Thanks for any suggestions.


Joe Hoffman

Data Analyst

University at Buffalo

The State University of New York

Research Institute on Addictions

1021 Main Street

Buffalo NY 14203

phone
<a href="tel:%28716%29%20887-2219" target=_blank>(716) 887-2219
FAX
<a href="tel:%28716%29%20887-2510" target=_blank>(716) 887-2510
e-mail
hoffman@...






===================== To manage your subscription to SPSSX-L, send a message to LISTSERV@... (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Reply | Threaded
Open this post in threaded view
|

Re: SPSS 19 error message on temporary select if

Art Kendall
should have looked more carefully. mea culpa.

The work around that can be used without having to distingusih part of a list that are numeric or string would go like this:

data list list/ id(f2)num1 (f2) num2(f2) str1 (a3) str2 (a3).
begin data
1� 1� 1 abc abc
2� 2� 2 def def
3 -1� 1 abc abc
4� 1 -1 xxx abc
4 -1 -1 xxx xxx
end data.
compute lost = 0.
missing values num1 num2 (-1) str1 str2 ("xxx").
do repeat v = num1 to str2.
if missing(v) lost = lost +1.
end repeat.
formats lost (f2).
list.

Art

On 11/21/2011 4:37 PM, Rick Oliver wrote:
It certainly seems inconsistent, but it is documented:

Missing value functions

•� Each argument to a missing-value function (expression, variable name, or constant) must be separated by a comma.

•� With the exception of the MISSING function, only numeric values can be used as arguments in missing-value functions.

Rick Oliver
Senior Information Developer
Business Analytics (SPSS)
E-mail: [hidden email] | Phone: 312.893.4922 | T/L: 206-4922




From: � � � � Art Kendall [hidden email]
To: � � � � [hidden email]
Date: � � � � 11/21/2011 02:39 PM
Subject: � � � � Re: SPSS 19 error message on temporary select if
Sent by: � � � � "SPSSX(r) Discussion" [hidden email]





That seems to be so.
data list list/ id(f2)num1 (f2) num2(f2) str1 (a3) str2 (a3).
begin data
1 � 1 � 1 abc abc
2 � 2 � 2 def def
3 -1 � 1 abc abc
4 � 1 -1 xxx abc
4 -1 -1 xxx xxx
end data.
missing values num1 num2 (-1) str1 str2 ("xxx").
compute okay = nvalid(num1 to str2).
compute gone = nmiss(num1 to str2).
list.
gives that error message!!

However the example under MISSING VALUES in help says

MISSING VALUES V1 (8,9) V2 V3 (0) V4 ('X') V5 TO V9 (' � � ').
I CC'd this to [hidden email] as this is an inconsistency.

Art Kendall
Social Research Consultants

On 11/21/2011 2:25 PM, J. R. Carroll wrote:

Art,

I thought this as well but did some testing on this - I don't think it's missing an end parenthesis (maybe I missed something).

I think what might be happening, and Joseph hopefully you can confirm, is that nvalid only works on Numeric variables and not on String variables.

NVALID. NVALID(variable[,..]). Numeric. Returns a count of the arguments that have valid,
nonmissing values. This function requires one or more arguments, which should be variable
names in the active dataset.


As soon as I changed the variables to string I got the same error message and then was able to fix it by changing it back to numeric.

HTH Joseph, I'm curious to know the solution when you find one.


----


J. R. Carroll

Researcher for Hurtz Labs
Instructor at California State University, Sacramento
Research Methods, Test Development, and Statistics
www.jrcresearch.net
Cell: � (916) 628-4204
Email: [hidden email]
� � � � � [hidden email]
� � � � � [hidden email]



On Mon, Nov 21, 2011 at 10:49 AM, Art Kendall <[hidden email]> wrote:
A little trick for finding the column in syntax
type a line below the offending line
123456789012345678901234567890123456789
01^

Most likely your parentheses don't match. Did they change to the correct color in the syntax editor?!?

Art Kendall
Social Research Consultants



On 11/21/2011 11:43 AM, Joseph Hoffman wrote:


Hi fellow SPSS users,


I am using IBM SPSS Statistics 19 and obtained the following error message when trying

to use a temporary select if statement:


temporary.

select if (nvalid (state1,stateyr,study,lott_ev,cas_ev,trak_ev,

� � � � � � � � � slot_ev,bing_ev,lott_yr,cas_yr,trak_yr,slot_yr,

� � � � � � � � � bing_yr,all_yr,

� � � � � � � � � gam_yr_freq,dis_pp_c,curr_dis,tot_symp_year,

� � � � � � � � � maledum,int_age,race,race4,religion6,churchtimes,

� � � � � � � � � yrs_ed,empstat,ses_all) = 27).


Error # 4310 in column 42. � Text: )

The numeric argument required for the function specified was not supplied.

Execution of this command stops.


Can anybody tell me what this message really means, or what my error is?


Thanks for any suggestions.


Joe Hoffman

Data Analyst

University at Buffalo

The State University of New York

Research Institute on Addictions

1021 Main Street

Buffalo NY 14203

phone
<a moz-do-not-send="true" href="tel:%28716%29%20887-2219" target="_blank">(716) 887-2219
FAX
<a moz-do-not-send="true" href="tel:%28716%29%20887-2510" target="_blank">(716) 887-2510
e-mail
[hidden email]






===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD
Art Kendall
Social Research Consultants
Reply | Threaded
Open this post in threaded view
|

Automatic reply: SPSS 19 error message on temporary select if

Looman, Wendy

I am out of the office November 22, 2011 through November 27, 2011. If you need assistance prior to November 28th, please contact: David M. Bass, Vice President for Research, Benjamin Rose Institute on Aging, Margaret Blenkner Research Institute, 11900 Fairhill Road, #300, Cleveland, OH 44120-1053. Phone: 216-373-1664. Email: [hidden email]

 

If your message concerns the HHCAHPS surveys, please contact: Sue Ambro, Benjamin Rose Institute on Aging, Margaret Blenkner Research Institute, 11900 Fairhill Road, Suite 300, Cleveland, OH 44120-1053. Phone: 216-373-1667. Email: [hidden email]

-----------------------------------------------------------------------------------------------------------------
CONFIDENTIALITY NOTICE: The documents accompanying this email may contain confidential information, which is legally privileged. This information is intended only for the use of the recipient named above. If you are not the addressee or the employee or agent of the intended recipient, you are hereby notified that you are strictly prohibited from printing, storing, disseminating, distributing, or copying this communication. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer.
-----------------------------------------------------------------------------------------------------------------