Grex Agorage Conference

Item 7: The Temporary Cross Root Incident Item

Entered by cross on Sat Sep 23 14:03:29 2006:

69 new of 128 responses total.


#60 of 128 by vivekm1234 on Tue Sep 26 07:27:20 2006:

Re #59: How is removal of mic's privileges a violation of protocol? Where does
it say that one staff member CANNOT kick out/deny access/lock out another
staff member? As i see it, mick has/had just as much right to revoke STeve's
permissions, in fact Mick could possibly "break in" to Grex revoke STeve's
perms and i doubt the board can do anything <grin>. Well..they could heave
him out for installing a backdoor, but certainly not for "breaking in"..since
legally he has every right to be "in" and it's just STeve's point of view
against his.


#61 of 128 by spooked on Tue Sep 26 08:30:53 2006:

I am very disillusioned at this point in time with the staff/baff's 
position of not restoring my privileges.  

In fact, they have not even given me an explanation.

I'll give it another day, and then I'll resign as it's looking more and 
more as if that is what they are hoping will eventuate.

*shrugs*



#62 of 128 by cross on Tue Sep 26 13:38:07 2006:

Yeah, the fact that no one has even explained what happened to Mic's access
is really not just bad, but straight rude.


#63 of 128 by vivekm1234 on Tue Sep 26 13:56:31 2006:

If the two of you will postpone the suicide till after the board meets we will
all be very grateful! And please don't mind read! It's not rude - the matter
is subjudice - staff can't/should not comment on the matter! In any case since
neither of you have done any wrong whatsoever and since every other Harry on
Grex is rooting for you guys..Sheesh! Whats with the gloomy faces! Plus, it's
prolly only STeve who MAY crib a bit..frankly speaking i doubt he would.
Neither of you may match up to his high ideals (expecting cross to play the
martyrd saint and divine things etc etc) but barring that he should not have
any objections..I'll bet they apologise for causing so much confusion and
verbiage! And i'll bet they say that they appreciate your work, but beyond
that..well don't expect them to crawl..after all the ambiguity wasn't
deliberate..


#64 of 128 by vivekm1234 on Tue Sep 26 14:04:25 2006:

Re #61 And don't expect them (staff) to fly to your rescue and bail you out!
They can't because that would be compounding STeve's whatever...in the sense
that..STeve's taken a decision against you..they can't just over-ride him and
heave you back in pronto without first listening to the guy..give it
time..i'll bet they reinstate you with nary a blemish on your charecter.


#65 of 128 by janc on Tue Sep 26 15:56:08 2006:

I can't get into a big fury about this, because, as it happens, I am
pretty confortable with Dan having root access.  So no harm done.

However, I agree that this is a pretty huge deviation from accepted
policy.  The talk in the policy about granting limited access to
specific users, refered to things like the "cfadm" account and treasurer
account, that allow people to do very specific things in very specific
parts of the system.  In some cases, we've given people temporary access
to root, but it was done with a person with official access to root
logging them in and sitting next to them the whole time they were on (I
remember watching Mike McNalley do some work on Grex and having keats
watch me while I did work on M-Net).

To just hand someone root, access and let them use it without oversight
is a declaration of total trust in that person.  While I may trust Dan
that far, and Mic may, and we may even be well justified in that, it
isn't really our perogative to make that decision for Grex.  That has
always been the board's perogative.  And that's as it should be.  If the
board doesn't decide who is root, then the board really isn't in any
substantive control of Grex.

So I do feel that this was an improper action.

Please don't do it again.

Thanks.


#66 of 128 by tod on Tue Sep 26 17:33:37 2006:

Can someone post a list of current holders of root and what their role is?


#67 of 128 by nharmon on Tue Sep 26 17:37:33 2006:

http://cyberspace.org/staffnote/     *snort*


#68 of 128 by cross on Tue Sep 26 17:44:02 2006:

Regarding #65; Given the outcome, I have no intention of repeating it again.
However, you bring up a good point: the board should have control over
access to root.  Mic's access is still shut off, even though he has board
approval to have that access.  :-/

Regarding #66; Grepping the wheel account out of /etc/group shows you who
has root access.  I'm not sure how one would figure out what their primary
responsibilities are.  The current contents of wheel are:

wheel:*:0:root,bhoward,gelinas,glenda,i,janc,kip,mcnally,mdw,remmers,srw,steve

root is in there only for redundancy.  bhoward hasn't been particularly
active since January, I'm afraid.  i handles most conference related stuff.
srw answers the bulk of user emails.  gelinas and remmers do general system
stuff.  mdw hasn't been particularly active in two years (before this past
weekend, he'd only logged in about twice in the last two years or so).
steve does a lot of the day-to-day grunt work, as we know.  janc does stuff
from time to time as he can fit it into his schedule.  I'm not sure what
glenda, kip, and mcnally have been up to recently, but I haven't followed
staff on a day-to-day basis for a while now.


#69 of 128 by nharmon on Tue Sep 26 17:46:57 2006:

Wouldn't the principle of least privilege suggest that non-active staff
be removed from the wheel group until such a time when they're willing
to be more active?


#70 of 128 by cross on Tue Sep 26 17:55:34 2006:

Regarding #67; Hey!  I'm listed in there!


#71 of 128 by cross on Tue Sep 26 17:56:14 2006:

Yes.  But I think that's opening up a whole other can of worms.


#72 of 128 by tod on Tue Sep 26 18:15:10 2006:

re #69
Eleven roots does seem pretty extravagant.

re #68
I don't know squat about staff but as a user I would've guessed the root list
would be: gelinas, janc, mcnally, remmers, steve, and spooked
My assumption is based on visible participation of those folks on Grex.
Even so, six roots almost seems excessive.


#73 of 128 by cross on Tue Sep 26 19:23:54 2006:

Don't discount srw in that list.  He does a lot of down-and-dirty work
supporting users who write asking for helps, and often needs root access to
do that (fixing mangled dot files, and things like that).


#74 of 128 by tod on Tue Sep 26 23:42:27 2006:

re #73
I don't doubt there are other active roots.  I was just relaying my impression
based on the staff folks I see in bbs.


#75 of 128 by cross on Tue Sep 26 23:44:43 2006:

Oh, okay.


#76 of 128 by arthurp on Sun Oct 1 04:17:30 2006:

I guess I'll preach for a while.

Does everyone remember from math that if a=b and b=c then a=c?

On a UNIX like system such as Grex giving root access for a few seconds
can result in myriad difficult to detect changes to the system.  Some of
these could be backdoor access, or data destruction.  I must say again
that these things can happen very quickly.  Perhaps tiny fractions of a
second.

Among staff it is pretty well known that STeve is particularly expert
and active with regard to security.

Given the above I would expect STeve to react quickly with sufficient
force to *ensure* reduction in security breach to any situation which
seemed to be a breach, and then continue to act to investigate, clarify,
gather evidence, and resolve the situation with coordination with other
staff and the Board.

As a Computer Security Specialist with clients that include Banks,
Universities, accounting firms, and etc I'll tell you that these are the
facts.

Now come my opinions.

STeve was correct with respect to his technical actions.  Perhaps he was
a little harsh with some of his words, but knowing what I know about
staff procedures as a former staffer myself, and seeing the wording used
in the discussion I see how in the situation STeve could have taken
things to be 'playing dumb'.  Not that I think that was happening, but
that he could have.  

With the above foundation about computer security I think that STeve did
things right.  That he didn't make any mistakes.  And that nearly all
the posts in this and other items amount to political powerplaying to
gather support for a position from people who have little to no
understanding of the details and methods of systems management.

The correct way to handle this would be between the parties concerned. 
That list would be:  Board; Staff; Cross; Spooked.  Any person schooled
in leadership and management knows this.  The motion to change the
wording of the relevant policy is a separate issue that rightly belongs
in COOP.  Since some people have chosen to step outside normal
management practices and engage in juvenile sympathy gathering I feel I
can no longer keep quiet on this and must explain some of the normal
practices for situations like this so that we might all behave with more
professionalism next time something happens that needs resolving.

Thank you STeve for trying so hard to keep Grex secure from all sorts of
security threats be they real active situations, abstract potential
eventualities, or possible vague incidents.


#77 of 128 by mcnally on Sun Oct 1 04:41:42 2006:

 re #76:
 >  On a UNIX like system such as Grex giving root access for a few
 >  seconds can result in myriad difficult to detect changes to the
 >  system.  Some of these could be backdoor access, or data destruction.
 >  I must say again that these things can happen very quickly.  Perhaps
 >  tiny fractions of a second.

 By that argument once cross had had root access it was much too
 late for STeve's revocation of root access to fix the problem.
 Your statement seems to me to be working at cross-purposes (no pun
 intended) to your argument.
  
 >  Among staff it is pretty well known that STeve is particularly
 >  expert and active with regard to security.

 It is?

 Without minimizing STeve's skills or his contributions to Grex,
 I'd have to say I'm not aware of any special expertise he has in
 this area.  He has strongly- held opinions on the subject and has
 a considerable body of experience as a professional sysadmin,
 but I don't agree that that's the same as "particularly expert."

 I've had a rather busy and stressful couple of weeks and can't
 recall at the moment if I've previously made my opinion on this
 incident clear but in my opinion mic made a relatively minor error
 in judgment and STeve acted in a way that I think speaks volumes
 about his attitude towards grex and towards other staff members.
 While I don't doubt that his intentions were to protect Grex from
 what he perceived as a threat, I think his actions demonstrate a 
 proprietary feeling towards Grex's admin privileges that I'm not
 entirely comfortable with.



#78 of 128 by arthurp on Sun Oct 1 05:18:22 2006:

STeve acted in response to an apparent security incident.  This requires
immediate and strong response.
Dan et. al. did not.  The two situations are completely different and
not interchangeable.  What you are saying is that if I gain root somehow
and put my name in group wheel then it is too late for someone to revoke
my new rights as a member of staff.

How can so many people fail to understand the difference between system
administration and security response.  Again, system admin is a team
effort and is not time critical.  Security response is time critical
beyond the limits of most people's imagination which necessarily makes
it an individual effort.


#79 of 128 by mcnally on Sun Oct 1 05:42:51 2006:

re #78:
> What you are saying is that if I gain root somehow and put my name
> in group wheel then it is too late for someone to revoke my new rights
> as a member of staff.

If I cannot know for certain that your intentions are not malicious
then it is, in fact, too late for someone to effectively re-secure the
system simply by revoking your membership in the staff & wheel groups.
That's one reason I'm kind of puzzled by STeve's reaction.  On the one
hand if he didn't believe that mic and cross were out to harm the system
then his approach seems like a ham-handed overreaction.  On the other
hand if he did believe that mic and cross were a threat to the system
then the steps he took to "secure" grex after discovering the situation
(which wasn't particularly hidden to begin with) were totally inadequate.

> How can so many people fail to understand the difference between system
> administration and security response.  Again, system admin is a team
> effort and is not time critical.  Security response is time critical
> beyond the limits of most people's imagination which necessarily makes
> it an individual effort.

I've got an even worse problem -- I can't even understand what it is
you're trying to say above.

You appear to be arguing that in response to a security breach, immediate
action is required to restore the security of the system and that STeve
was therefore correct to act unilaterally without waiting for the board
to sort things out.  I don't particularly disagree with that if that's
what you're saying, but frankly what STeve did really doesn't begin to
come close to re-securing a breached system, about the only attackers it
would actually be effective against were people who weren't attacking in
the first place.


#80 of 128 by naftee on Sun Oct 1 06:15:18 2006:

i'm with mike.

re 76 You're acting as if this were a system where the board and staff total
about a hundred different technicians who don't know themselves that well.
GreX just isn't that.  It's a community where a lot of the staffers happen
to know each other in person.


#81 of 128 by spooked on Sun Oct 1 13:41:03 2006:

A couple of things, there was no security threat -- any non-moron can see 
this.

STeve's response was worse than my actions.  It was inappropriate, and 
quite frankly rude!

If I or Dan wanted to harm the system, it would have been done long ago.  
STeve's actions, and more important, his words - and lack there of - since 
the episode have hurt Grex much more than me taking an innocent 
initiative.

Just my 2c.
 


#82 of 128 by other on Sun Oct 1 14:16:06 2006:

I think arthurp is misapplying a legitimate point.


#83 of 128 by cross on Sun Oct 1 20:48:10 2006:

Regarding #82; I agree with Eric.  Arthurp's argument doesn't fit this
situation particularly well.

And, with respect to #76; "juvenile sympathy gathering" - are you serious?


#84 of 128 by drew on Mon Oct 2 02:34:12 2006:

    I don't know how it is on Grex, but on my Linux system in the
sudoers man page I found a few options that may be of help here.
To wit:

Defaults
--------
       mail_always Send mail to the mailto user every time a users runs sudo.
                   This flag is off by default.

   Turn it ON.


       mailto      Address to send warning and error mail to.  The address
                   should be enclosed in double quotes (") to protect against
                   sudo interpreting the @ sign.  Defaults to root.

    This one should be set to a mailing *list*. The list should include
accounts held by all board and staff members on systems *other than
grex*. (I have a bunch of gmail invites if anybody needs some.) And for
good measure, add to the list an account on a machine on the same
network as the grex machine, in the same room, which is otherwise NOT
connected to the internet. (eg, you have to goto the Co-lo building and
sit down at it to login to it.)


       logfile     Path to the sudo log file (not the syslog log file).  Set-
                   ting a path turns on logging to a file; negating this
                   option turns it off.

    Send this one, also, to another machine, via NFS or similar network
file sharing. Said system will be charged with the task of backing this
file up every 5 seconds  or whatever is appropriate, and|or otherwise
keeping it from being deleted or overwritten. (Allow append only.)

    In this manner, a user in group wheel can still do anything he likes,
including install back doors, and even stop sudo from keeping such logs.
But by the time he does, if the logs and notices get sent offsystem, the
cat will be out of the bag, and everyone will know who to hold responsible.

    Also, just for fun:

       lecture     This option controls when a short lecture will be printed
                   along with the password prompt.  It has the following pos-
                   sible values:

                   never   Never lecture the user.

                   once    Only lecture the user the first time they run sudo.

                   always  Always lecture the user.

                   If no value is specified, a value of once is implied.
                   Negating the option results in a value of never being used.
                   The default value is once.

       lecture_file
                   Path to a file containing an alternate sudo lecture that
                   will be used in place of the standard lecture if the named
                   file exists.


And one that especially appeals to me:

       insults     If set, sudo will insult users when they enter an incorrect
                   password.  This flag is off by default.



#85 of 128 by spooked on Mon Oct 2 02:57:49 2006:

I hereby wish to resign, effective immediately, from Grex staff.

There are a few main reasons for my decision:

(1) Good judgement and initiative are discouraged.  Autocratic, zealous, 
    egotistical behaviours are favoured.
(2) Very little good work is done by Grex staff, because of the 
    repercussions and discentive caused by (1).
(3) Grex (and particularly the one or two staff who spoil staff) are 
    backward thinking - exaggerating their own personal importance, and 
    having no vision or passion for a better Grex.  
(4) I find the sheep on staff who follow the zealots on staff (because 
    they have no conviction or vision of their own) pathetic.

I will now remove myself from groups staff and wheel.



#86 of 128 by nharmon on Mon Oct 2 03:02:04 2006:

So who does that leave us with?


#87 of 128 by naftee on Mon Oct 2 03:05:56 2006:

steVE.

This is indeed sad news.  It sucks that you've left, spooked.


#88 of 128 by tod on Mon Oct 2 03:21:46 2006:

Thanks for your time, spooked.  I appreciate your and Mike's opinions and hope
both of your opinions continue to be voiced.


#89 of 128 by spooked on Mon Oct 2 03:25:50 2006:

Just to leave no doubt about my wording in (1) by zealous (being a zealot) 
I mean an extremist, a crank and a bigot (not to be confused with 
enthusiastic and positive visionary intent).



#90 of 128 by tod on Mon Oct 2 03:30:24 2006:

I think "discentive" was the clearest one word explanation.  In a better
world, the Board of Directors would recognize these gentlemen and give them
a formal thank you up to and including a certificate of participation and
thanks as well as an annual membership at no cost.  I don't think I'm out of
line at suggesting this.


#91 of 128 by spooked on Mon Oct 2 03:45:42 2006:

disincentive -- better?

Not sure what you mean in resp:90 Tod.



#92 of 128 by tod on Mon Oct 2 03:55:30 2006:

re #91
Well Mic, I'm referring to the recent events.


#93 of 128 by spooked on Mon Oct 2 06:27:59 2006:

I don't think any money or free bonus should be given.

It should and would be a pleasure working on staff if certain staffers 
wouldn't spoil it for everyone - current and wannabes.



#94 of 128 by tod on Mon Oct 2 16:57:49 2006:

re #93
Mic, I think everyone interested in Grex would probably like to see staff
given a bit of recognition after volunteering for a period of time.  I
understand its not what motivates a person to be on staff (or I would hope
that wouldn't be the case.)


#95 of 128 by keesan on Mon Oct 2 18:17:24 2006:

Would an apology from a certain staffer help to persuade a couple of other
staffers not to resign?  


#96 of 128 by tod on Mon Oct 2 19:07:46 2006:

I think this is the sort of notable situation that requires Board involvement.


#97 of 128 by cross on Mon Oct 2 19:30:11 2006:

Two staff members resigning in a single day.  Yeah, something is definitely
rotten in the state of grex.


#98 of 128 by spooked on Tue Oct 3 22:06:38 2006:

I feared an apology would be beyond the man - I said this way back.

It has proven correct. 

Again, pompous - managerial smuck.




#99 of 128 by mcnally on Tue Oct 3 23:31:49 2006:

 Although I think some things about the way staff works could
 be changed to help encourage more participation from other
 potential staff members and although I think the recent 
 incident could have been handled much better, I do not feel
 personally offended by anything that happened and would not
 be moved to reconsider by an apology when no offense was
 offered me.  Mic's entitled to feel differently, of course,
 and I expect he does -- his situation is totally different..

 As for my own reasons -- I promise I'll try to explain them
 later, but right now my time is limited by circumstances in
 my personal life (which is, itself, one of my major reasons.)

 In the meantime I would appreciate it if people would not use
 my departure from staff as an extra club to beat up on STeve
 because although I disagree with him in some cases about how
 the system should be managed (as is only natural -- different
 people have different approaches..) my decision is not primarily
 motivated by those differences of opinion.



#100 of 128 by spooked on Wed Oct 4 00:02:36 2006:

Well said Mike.  Take your time, mate.




#101 of 128 by cross on Wed Oct 4 00:22:01 2006:

Fair enough.


#102 of 128 by keesan on Wed Oct 4 04:03:55 2006:

Spooked, if enough of us ask you nicely would you reconsider resigning?


#103 of 128 by spooked on Wed Oct 4 05:09:12 2006:

Thanks keesan...  

All I want is an apology.  I'm a very stubborn person - when I have been 
treated poorly I don't ask much except for a 'sorry'.  



#104 of 128 by keesan on Wed Oct 4 15:05:16 2006:

I can understand how you would be reluctant to continue working with someone
after being yelled at.  Do you think an apology would make this sort of thing
less likely to happen again?  Probably STeve was under some sort of stress
at the time, such as poor health, too much work, etc.  Is it possible that
you were partly at fault and could apologize for that first?  (I did not
really follow the whole case).  Some people find it more difficult to
apologize.


#105 of 128 by tod on Wed Oct 4 19:07:30 2006:

I don't think spooked needs to apologize for trying to update Grex's anciently
obscure modules which had been hashed over in discussion in the garage
conference amply beforehand.  STeve just flipped out because spooked had cross
(former staffer and considerably trustworthy) assisting with a root level
capability.  The truth is that there needs to be some sort of formal process
to ensure other staff people are in the loop..and for that to happen (in a
timely fashion) then some people are just going to miss the boat.  It was
assumed the garage conference was that venue but not according to STeve and
others.


#106 of 128 by cross on Wed Oct 4 19:16:53 2006:

It would seem that we assumed incorrectly.  Okay.

Still, Steve's reaction and treatment of other parties could have been a
little friendlier.  I don't think that people should have to crawl around
begging for apologies.  If one cannot be had, and it was truly deserved then
that tells you something about the nature of grex's staff.

In this case, I do believe Mike deserves an apology.  Even if Steve felt his
actions were justified, I still think he was unjustifably caustic with his
approach and subsequent lack of communication (though, to give the benefit
of the doubt, maybe the latter is just due to lack of time).  Moreover,
apologizing for his demeanor wouldn't be invalidating his position, but
rather just acknowledging that other parties were offended.  It would just
be saying, "Hey, I still think I was right, but sorry if the way I went
about it offended you...."

Probably, spooked resigning is a symptom of a larger problem (I haven't been
on staff for a few months, so I don't *really* know).  But if that were the
case, instead of treating that symptom, one should look to treat the problem
itself.

Mike McNally said he had other reasons for resigning.


#107 of 128 by tod on Wed Oct 4 19:58:46 2006:

I wouldn't be surprised if Mike split from staff because everybody is
squabbling and his heart just isn't in it.  I'm sure there are schedule
conflicts and other stuff, too..but I'm getting the vibe that something
positive needs to happen with staff soon up to and including some leadership
that isn't perceived as part of "the old guard."


#108 of 128 by spooked on Wed Oct 4 20:48:00 2006:

I would not be surprised either if that's a big factor for Mike.

Talking from how I feel personally...
I want to be in a team that works AS A TEAM!  When it feels more like a 
dictatorship - and, worse still, you are not respected and not given an 
apology (as Dan has said, an apology does not necessarily suggest one 
person was more right/wrong than anyone else) it is demoralising and 
counterproductive.
I do not volunteer to staff for monetarily or status rewards!!  I only ask 
for some decency and that includes basic human respect.  

I do not want to cause problems, and I do not believe I am radical -- or 
am I missing something?


#109 of 128 by spooked on Wed Oct 4 20:50:27 2006:

eh, monetary


#110 of 128 by tod on Wed Oct 4 20:54:07 2006:

 am I missing something?
I think you pretty much said it.


#111 of 128 by cyklone on Wed Oct 4 23:25:01 2006:

If this were a Disney movie, shouldn't this be the part where the grumpy 
old junkyard owner takes pity on the poor little kid with the hard luck 
life and teaches that kid everything he knows about the junk business?


#112 of 128 by tod on Wed Oct 4 23:25:48 2006:

This is the part where Ben Vereen teaches Kunte the chicken dance.


#113 of 128 by spooked on Thu Oct 5 02:13:43 2006:

I know all about a hard life.  That's why I work when people sleep, so one 
day I may rest easier.  However, regardless of where I end up, I'm very 
proud of the work I do and I enjoy it.  And, I would never take a 
managerial position - I prefer earning my money.



#114 of 128 by naftee on Thu Oct 5 05:24:23 2006:

i rather like sleeping through morning rush hour


#115 of 128 by tod on Thu Oct 5 06:28:40 2006:

I like writing policies, standards, protocols, and books.  Not only does it
allow me to meet interesting people but lunch is included.


#116 of 128 by nharmon on Thu Oct 5 13:20:39 2006:

Todd is all about the claimed-non-existant free lunch.


#117 of 128 by spooked on Thu Oct 5 13:40:48 2006:

Policies, et. al - I produced a 340 page thesis so the next book I write 
will be more philosophical.



#118 of 128 by tod on Thu Oct 5 21:15:47 2006:

re #116
I also am kind of a sucker "for the good of the Order"


#119 of 128 by albaugh on Tue Oct 10 22:37:16 2006:

No, this is where Ben Vereen starts singing "Goodbye my life, goodbye."
(All That Jazz)


#120 of 128 by lar on Fri Oct 13 16:08:29 2006:

Alright...so what's the story?
Did steve apologize?
Did cross ever get to complete his changes.
Did spooked's resignation stick?

*Note*
Someone needs to update the web page because it looks like cross is on 
staff to me...


#121 of 128 by cross on Fri Oct 13 16:09:15 2006:

No, No, and Yes, respectively.


#122 of 128 by naftee on Sat Oct 14 00:03:46 2006:

 :( to all


#123 of 128 by gelinas on Sat Oct 14 01:10:41 2006:

The Stafflist isn't the only thing that needs updating, but it's as good a
place as any to start, I guess.


#124 of 128 by cross on Sat Oct 14 02:22:34 2006:

Lots of things are out of date: /etc/group, for instance.


#125 of 128 by tod on Sat Oct 14 17:35:18 2006:

And password hashing...


#126 of 128 by gelinas on Sun Oct 15 00:26:54 2006:

Password hashing isn't "out of date," it's just "not standard."


#127 of 128 by cross on Sun Oct 15 00:30:06 2006:

I guess that depends on how you define ``out of date.''  Grex's password hash
is based on SHA1, about which there is some speculation that it has
``interesting'' properties that would make the algorithm slightly dated.


#128 of 128 by null on Mon Mar 12 08:29:49 2007:

Are we there yet?


There are no more items selected.

You have several choices: