MEMOIRS -- 1953 to 1997 in Computer Programming, plus the next ten years in retirement

Below is a series of articles and emails I wrote in 1996 and 1997 about my years as a computer programmer.
The articles were in response to a request for stories from a women's group.  I've now lost touch with them.

Subject: Bell Labs in 1953 
Date: Tue, 03 Dec 1996 14:11:17 -0500 
From: "Mary Byrne at Accurate" 


In 1953 I graduated from College with a BS in Math and landed a job at Bell Labs in what we would now call a technical support organization. To the engineers (men with a BS in Engineering and higher salaries) we were known us "computresses". There were about ten of us and we each had a Friden calculator on our desks. 

Down the hall there was the Mark IV Relay computer. We used that mostly for "mesh" computations (describe an electrical circuit and the computer ground out the circuit performance at each of selected frequencies). Input was paper tape rolled up like carnival tickets so it could run unattended overnight or over the weekend. Friday afternoons we spent splicing the tape and Monday mornings the tape had to be picked up off the floor, jobs split and returned to the originators. We looked up the logarithms of the output and plotted frequency against decibels to present a graph to the engineer. 

The photo at right is from an article in "The Reporter", March 1954, a Bell Labs publication.  Click here to see the entire article.

One project came up that required computing orthogonal functions. This was an alternate study to the more common approach of doing least squares fits to match desired outputs. What it boiled down to from a computing point of view was matrix multiplication where the rows and columns were very long, each entry was ten digits long and there were numerous zeros in them. To punch these ten digit numbers into a paper tape was probably no more ornerous than punching them into the Friden. But the down side of using the Relay computer was that the zeros had to be punched too (+000E+00), whereas a human would recognize a zero and skip the multiplication. There were meetings of supervisors to discuss the best way to attack the problem and the wise heads decided that because of the zeros this problem was better suited to be done on the Fridens. So for several months one person spent every day working on this. She could do four multiplications in a day (each one had to be double checked by summing the resulting column to zero - or something like that). This wasn't fast enough so the project was approved for overtime and on Saturday as many of us as wanted came in to contribute our four columns to the project. Then the main computress went on vacation and I was named to continue it in her absence. I was not the brightest person in our group, but apparently I had a firm reputation as the laziest. The joke in the office was "If it can go on a computer, it's going now." And I didn't let them down. I punched in those zeros, rolled up the paper tape and completed the project before she got back from vacation. What the wise heads had not even considered was the fact that the computer got the right results each time, whereas people (especially me) sometimes had to repeat their work at least three times to get the same result twice. 

In 1961 I left the Labs to raise a family and didn't return to paid work until 1974. Imagine my feelings when the first computer course I took used matrix multiplication as the most elementary example of an application for computer work! 

To complete the story of the Relay Computer. It occupied an entire room and in the late '50s was donated to Brooklyn Polytechnic Institute. The woman responsible for maintaining it went along with it to Brooklyn to continue maintaining it and to instruct students in its use. I believe her name was June Jensen. Anyone from Brooklyn Poly have more to add? Click here to read new info as of March, 2010.

Meanwhile, back at the Labs, on the sixth floor, the Research Department installed an IBM 650 and we were invited to use it. Input was via punched cards and programming meant understanding the drum where commands were stored. Commands had to be loaded ten words apart to minimize drum rotation and each command specified where the next one could be found. The Research Dept made routines available, so by adding a half inch of cards we could now have the computer look up those logarithms. Oh happy day! All we had to do was change the frequency card and run the whole deck thru to get each number for our graphs. 

The Research Dept again led the way by installing an IBM 750. Then I witnessed what was either a display of giant egos, or the result of the freedom of management that made the Labs such a great place to work. To get away from assembly language coding, a three address computer language was designed. This apparently was state of the art at the time, because I later saw a similar development from North American Aviation. The work was divided between two men - Mike Wolontis to do logic, and Dick Hamming to do the Math functions. (Yes, Hamming as in Hamming codes. But this was before that). Actually each of these men had a woman who did the actual work. I guess the men were what you would call "super" programmers meaning they directed the work but it was the women who made it happen. Yet after 40 years it's the men's names that I remember, and only the faces of the two women. (Was it Gwen and Dottie?) Hamming finished first with the math functions and instead of waiting for the logic he sailed on to do that part too. Then Wolontis had to do the math functions too. The Labs got two languages instead of one! Hamming spoke to our group first and so we started to use his program. But what doomed his language was the fact that the program had to be reloaded each time. It didn't reset itself. At first everyone said "Oh that's no problem". Compared to what we were used to, his program seemed wonderful. But then IBM published Wolontis's program and it did reset itself. That half minute of reload time soon became burdensome. And today it's just a basic fact of programming that routines reset themselves. Another fundamental principal of today, but it had to be learned thru experience. 

My last assignment before maternity leave was to write an interpreter for the 1410 so that all the programs accumulated to that point could be run. This was of interest not only to our people in New Jersey, but people in Merrimack Valley, Mass also wanted to use my interpreter. It made sense that I travel up there to tell them about it. Would you believe my supervisor actually said "Ask Charlie if it's OK" and wouldn't take my assurance that I could travel without permission from my husband? Then, when Charlie didn't object my supervisor still felt concern so he authorized another woman to go along, even tho she had not been involved in the project. This was 1960 folks. 

Can you stand more stories? I remember when the first version of Fortran came out for the 750. A friend and I made a core dump and spent a couple lunch hours walking thru the assembly code to see how it worked. Just curious. 

And it was 1958 or 59 that Rutgers offered its first computer course. I took it and was delighted to discover that it was about using "L1" the Mike Wolontis version of the three address coding language. By now I knew the innards so well that I was a real know-it-all pest to the professor. 

The job that left me with the most feeling of accomplishment was probably one of my earliest assignment at Bell Labs. It was to use deviation studies and least squares fitting to redesign the repeaters from the Hawaiian cable to give performance needed for the Trans Atlantic cable. While I made computer runs and used French curves to draw graphs, there was an engineer in a lab with the physical repeater twiddling knobs with the same goal. When I came up with values that looked good he verified them. And when the cable first went into operation we and our families were invited to talk to people in England over it. 

These are some of are my 1950s memories. I am still full time employed, and may add chapters on the 70s, 80s and 90s later. How time flies when you're having fun! 

Mary Byrne ========================================================================

Subject: 70's 
Date: Tue, 03 Dec 1996 14:25:49 -0500 
From: "Mary Byrne at Accurate" 


I had the pleasure to hear Grace Hopper address a lunch hour program at Bell Labs in Columbus, Ohio in the 1970's (or maybe it was early 80's). She grabbed the audience right away by asking if we knew what a nanosecond was. Then she held up some cables and explained that their length was the distance light can travel in a nanosecond. No abstract explanations. This was something you could see and touch. She was very personable. 

In the 70's we had a "terminal room" where there were about five terminals. These were shared among the group because no one thought they needed a terminal for their exclusive use. Then gradually people started to complain about access to the shared terminals and one by one according to need individuals were given their own terminal. 

At this point there was a status thing. A keyboard looked too much like a typewriter and some people associated having one as a demotion -- doing secretarial work. They didn't mind going into the terminal room occasionally but they didn't want anyone to think that they typed all day. Eventually that changed and by the 80's the stigma was overcome, indeed reversed. Now it is a status symbol to have the most powerful hardware available on your desk. Now you see supervisors who travel a lot and attend meetings most of the day and who have better PCs on their desk than their underlings who could really use the power. 

And secretaries work has certainly changed too. Remember when "cc" meant carbon copy to:? Now cc has become a verb. "Send me email, and cc Jim too".

Mary Byrne 


Subject: More Stories. 
Date: Thu, 12 Dec 1996 14:21:09 -0500 
From: "Mary Byrne at Accurate"


I previously submitted some stories from the 50's. Now I would like to add to them and take it through the present. With each decade I've noted a theme that I think influenced both the work and my experience. Some of my dates may be off by a year or two. 


Last time I told the story of matrix multiplication and the reluctance to program it for the digital computer. That theme lingered all through the 50's. 

We also had an analog computer. It seemed logical that some problems were more suited to the analog than to the digital computer and so we learned to use the analog too. But it was cumbersome to program. We had to plug wires into a board and no one in our group showed much aptitude for this kind of programming. As hardware and software became more powerful and easier to use, the digital computer gradually handled the bulk of the work. 

The nature of our work continued to evolve to utilize the power of the IBM computers available to us. Whereas engineers used to ask for computations at a few frequencies and rely on graphs drawn with french curves to fill in the missing points, now we could actually compute each point. The engineers still used their slide rules for estimating and checking results. I guess slide rules didn't disappear until the 60's. I know I haven't seen any lately. 

Our group was divided in 1958 (or 1957?) by function into programming/computing and the large office broken up into three smaller offices. This physical change I believe had a positive behavioral effect on us. Whereas in the large office with our supervisor sitting in the middle we used to engage in school girl games like using our graph paper to play battleships when the supervisor wasn't looking, now we perceived ourselves more as professionals and started taking an interest in attending conferences and reading technical publications. 

One difficult problem I remember came from Sidney Darlington's PhD thesis written in the 1930's on design of low pass filters with ladder type networks. Until now the calculations needed were too extensive for hand work but with computers it was inviting to explore this approach to circuit design. Depending on the number of shunt arms wanted in the configuration, the equations involved the sum of the products of terms taken two at a time (all possible combinations) plus all combinations of terms multiplied three at a time, plus -- etc until the nth term. Actually the equations were more complicated than that but you get the gist. This problem was decided not suitable for the computer with one general program and so a separate job was coded for each separate case up to eight, a practical limit. The result was eight programs each with errors, because there wasn't time nor motivation to test each separate case. I proposed and coded a general solution by writing a loop with ten NO OPs in it, then letting the program replace one NOOP with a multiplication command each time it left the loop, and do it n times. Yes -- self modifying code! A big NO NO today. But at the time it was an innovative new idea. Remember, we didn't have powerful high level languages yet. I was working in the three address L1 language. This program got me transferred from the computing to the programming group where I wanted to be. Someone asked "Is that a promotion?" The answer was "No. Just motion."


My last assignment before maternity leave was to write an interpreter enabling programs written in the L1 language to run on the 1410. I mentioned this story in my first email. I didn't mention that the 1410 was a variable word size machine, so with just a one card change I could run my least squares problem using 8 digit accuracy, then 9, then 10, etc. for a study of the effects of rounding on computations. No break throughs in number theory here, but I was interested to do it. 

My supervisor had another assignment in mind for me and asked would I be interested in working from home on it. Would I! I was pretty excited at the prospect. But the Department Head squelched it. Hadn't been done before. Didn't think it would work. :-( 

My supervisor used to read a lot and liked to talk about new ideas. I remember him sitting on the waste basket by my desk telling me about things to come, like stacks - how it was like plates in a cafeteria where you take one off the top and the next one moves up, or if you put one on top the whole pile moves down. And macros -- you write a few lines of code once and they don't appear in your listing but they are executed when called. 


By 1974 I was ready to return to work. We were living in Ohio at the time and Bell Labs had a freeze on hiring so I took an Assembly Language course for the IBM 360/370 at Ohio State and then got a job at Chemical Abstracts (CA). They publish a weekly summary of all articles relating to chemistry in the literature. They also produce yearly volumes and do searches on request. 

CA had about 70 programmers. Each had an individual office. During the day batch jobs were run on the IBM 360/370 for the programmers/developers and at 4:00PM production runs began to produce the next issue of Abstracts. The two night shifts were dedicated to production. Experienced programmers had to take a rotational turn at working night shift to fix abends and keep production going. This is where you got real good at writing quick and dirty programs that would strip and go (remove bad data and run with the good -- bad stuff would be looked at in the morning). 

To my delight and wonderment I saw implementations written during the '60's involving stacks and macros which by now were old hat. What was new to me was Yordin's structured programming and the 1960's style of commenting every line of code. I had some trouble comprehending that programmer's actually were disciplined enough to write and key punch their code with indentation to show the structure. Apparently each line of code was required to have a comment. The results were sometimes comical, like:

        LR R3      Load register 3 
    ADD R4     Add register 4 
    STO R5     I'm hungry Y

Yes. "I'm hungry" actually appeared as a comment. 

One task I did at CA involved automating a large tub file of header information. Title, author, publication etc information was kept on 3X5 cards and stored in open bins at table height called a "tub file". I don't recall how the cards were produced but each day chemists read publications and drew red circles around pertinent information. Somehow this circled info got to the cards. What I did was write code and set up the procedure whereby key punchers input the circled info into the computer and then it was transferred to Microfishe which people could scan instead of accessing the tub file. This effort would eliminate filing jobs and so I was allowed only one visit to the area to see the operation before I started my design, and cautioned not to speak to the clerks beyond asking about functions they performed. Hopefully the people involved were transferred to more interesting work. 

In spite of the quality of the publications produced, and the many fine people I met at CA, I found it a repressive environment to work in. Programmers were discouraged from initiating or requesting to work on specific tasks. The management style was to underrate people and encourage competitiveness among programmers. 

Each assignment came in a work order and usually involved a modification to an existing process. The programmer had to estimate how long the task would take, and it was a black mark if completion took longer than the estimate. (A keypunch mistake in a JCL card could cause a day's delay in completion). Further, management also estimated how long a task should take and it was usually lower than the programmer's estimate -- another black mark. Turnover was high. On the day I left (after the typical tenure of two years), three others also left -- one unexpectedly after punching out the manager. It was like going home to return to Bell Labs. 

I often think of the smart young people who were made to feel inadequate and consequently left CA. What a dismal experience for a first job. 

There were two young women at CA, both with Master's degrees who had applied for and been offered a job at Bell Labs but accepted CA. Incredulous, I asked them why. Their stories illustrate, I think, the need for Affirmative Action programs to make recruiters more effective in recruiting women candidates. 

One young woman got married after her interview and because of confusion over the change in her name, she didn't receive her Labs offer until after she had already accepted the CA offer. Couldn't happen to a man. 

The other was an even sadder story. On her Labs interview the jocks who talked to her bragged so much about the importance of the work that she was intimidated -- didn't have the confidence that she could handle the work. The Labs lost big time in those two recruiting efforts. 


My story of the 80's is one of divestiture of the Bell System. My husband went to Central Services Corp (later Bellcore) and I to American Bell (ABI) for a year, then back to the Labs. Our children lamented that while their friends' parents got divorced, theirs got divested. 

At ABI I worked on the ill fated Net1000 project and picked up experience in the 7 layer Open Systems model and X.25 protocol. That lasted only a year before it was clear the project wasn't going to fly. 

My next venture was back to the Labs and involvement in setting up a data base of component information. When that project too appeared at an end I transferred to the transmissions area to work on a telephone switch. 

After 35 years I had come full circle back to the telephone transmission systems. Here I had a very interesting assignment -- the code that does the switching in a video teleconference. At first I thought "Wow! They're going to let me work on THAT!" as I read the big picture documents describing telephone offices and signals going up to a satellite and back to other offices. But when I got down to details I found that my part was simply to maintain arrays that keep track of connections and to communicate between two pieces of hardware to make/break connections. This is the sort of job that could intimidate a candidate depending on where the interviewer put the emphasis in describing the work. Still thinking of my friend at CA. 

Interviewing for a job transfer during the 80's was an unsettling experience. Sometimes the person giving the interview was him/herself looking for a transfer. Once I called back the week after an interview to ask a question and was told the supervisor I had talked to was no longer there. Once I asked the interviewer what he thought of being divested and he said, "I took this job to work for Bell Labs, not ___." When I accepted a job at ABI the supervisor I came to work for was not the one I had interviewed. People were jumping in all directions for various reasons. The uncertainties took a large toll on morale. 

Feeling secure that I was invaluable to the Labs because of my work on the video teleconferencing switch (it was being deployed in early 1990 and who else to fix bugs?), I accepted a retirement offer at the end of 1989. That worked out well for me and I continued as a contractor for four more years. 


Being a contractor is different than being an employee. You're not "one of us." This is a relief when you see them going through the yearly performance review process, but the downside is you also don't get the yearly raise or benefits. What I missed most was not being included in seminars, workshops and courses. 

In 1991 one hundred contractors were let go in one day because of a budget crisis. I can't even guess at the impact on quality of product. Supervisors were really scrambling to get the work done. They saved a few contractors by hiring them as employees. I was lucky to miss that cut but couldn't dodge the one in 1993. 

After a summer of unemployment, the US Department of Defense awarded contracts in my area and I got a job with a small contracting house supporting work at Fort Monmouth. Every year there are budget cuts and people move around. Government contractors live their whole careers with uncertainty. They have to follow the money generated by government contracts. When one contract ends they look to where the next one is. And while there is competition among them for work, there is also a camaraderie among them, even a softball league. 

The government employees have job security, but they also get transferred from area to area. And last December was bizarre when republicans shut down the government and there were only contractors on the job here at the Fort. 

I find the culture here very agreeable but I did have some adjustments to make. Government employees tend to go home promptly at 4:00 or 4:30 PM. One time I was working in a different area than where my coat was and found it locked up when I was ready to leave (it was February in NJ!). Another time I was asked to leave at 7:00 PM because the supervisor who was working late was now leaving and wanted to be sure the place was locked up. 

The work here is part of the Government effort to reduce paperwork. I have learned about the Standard Generalized Markup Language (SGML) and have modified code for an SGML parser and Multipurpose Internet Mail Extensions (MIME) code in support of a standards proposal put forth by a coworker. Here I had the privilege to ask questions of the author of the parser (using email). His responses to questions came so quickly that I assumed he was sitting at his desk locally. When I met him in person at a conference, I found out he is British. I never noticed a six hour time difference in the email. It was a real kick when my code was accepted by the University of Oslo for availability to anyone wanting it. But here again budget cuts loomed and my coworker was laid off. A loss not only to this contracting house, but to internet standards as well. 

Now my efforts have turned to an Oracle Data Base and I was recently named Data Base Administrator. There's a title I never thought I'd have! Can't wait to round the next corner. ========================================================================

This next is an email I sent to my son DJ, a system administrator at Jet Propulsion Labs.

Subject: Having Fun Now 
Date: Fri, 31 Jan 1997 10:22:28 -0500 
From: "Mary Byrne at Accurate" 



Having so much fun I've got to tell you about it. You know I'm the "data base administrator" here. Well, I've automated the data downloading and importing, and written scripts to detect structure and content differences from day to day. But our Alpha isn't connected to our LAN and I can't email all these wonderful reports to the people concerned. 

Day before yesterday our Web guru showed me how to set up a Web page to show the reports on our ipx which is connected but doesn't have Oracle, and here's the fun part -- using mSQL (mini SQL) do data base queries dynamically! This is going to blow their socks off. They can get into Netscape (they all know how to do that), call up my URL and type in a requirement number and get the latest info on it. 

It isn't ready yet, but I put the canned reports there for them to look at and am working on the queries. Sorry, it's proprietary. You can't look. 

This does proliferate data bases, which I've been named administrator so this wouldn't happen. But as my boss says, it's easier to get forgiveness than permission. So I'm going to demonstrate it then suggest we move the Web page to the Alpha (set up the connectivity) where we have Oracle. Remember, that's how we got the Alpha in the first place. We were clearly told only to administer it, not to put any of our own work on it. Then we put the data base there, added an ODBC driver to a PC and demonstrated that they could use Microsoft Access to look at the data. Everyone said "WOW!" and we've been the only people working on the Alpha ever since. 

The neat thing is the new idea of using the Web instead of clogging everyone's email with reports they don't look at. We'll see how it goes. Meanwhile, I'm having fun and adding a Web skill to my resume.



In 1997 Accurate Information Systems lost its contract with the government and dissolved. Although everyone was offered a job with another contractor, I chose to retire.

MEMOIRS -- 1997 to 2007

My son has reminded me that another decade has elapsed since my last memoir entry and so I should look back and sum up again.

It has been a very happy ten years since I retired in 1997 -- for the fourth time!  Yes, this was the fourth time I had retired:
    1. In 1962 to start a family
        a). Joined Chemical Abstracts in 1975 and made it back to Bell Labs in 1978
    2. In 1989 when Bell Labs offered an attractive retirement package, I accepted
        a). Returned to my desk the next Monday as a contractor (double dipping)
    3. In 1993 after four years as a contractor, Bell Labs downsized and I was out
        a). Joined Accurate Information Systems in Sept, 1993
    4. In 1997 when Accurate Information Systems dissolved.

After each retirement I kept going back to work because I really liked working. There is a comaradie with coworkers, a feeling of learning and accomplishment.

What made the fourth retirement work was that I bought a computer and started a family website -- in short, took home what I liked about work.  My first objective was to make the six books my mother had written available on the internet.  Meanwhile, my cousin had done a lot of genealogy research on our family, so I added that, and then other family members saw it and contributed even more.  I also started a chronology of current happenings in the family.

It is interesting that I mentioned "adding a web skill to my resume" in my 1997 memoir.  That sure was prophetic, and fortunate too.  If I hadn't left Bell Labs, I would probably not have acquired that web skill.  
I had some bad moments after my 1989 decision to retire.  But in hindsight, it was one of the smartest things I've ever done.  Health benefits are a bigee.  You never know. But you make a decision and live with it.  This one turned out fine.

I heard about the Brookdale Computer Users Group (BCUG) and joined it in 1998.  After a year or two as a listener, I saw where I could contribute and so volunteered to help on their website (  The timing was perfect.  The new president had ambitious ideas and I had the background to implement them.

Well, almost.

I had to learn perl to implement a flat file database of workshops and meeting days in order to present a dynamic schedule showing one month's meetings starting from the current date.  This led to a user interface for the volunteer who arranges rooms and meeting times, etc.

After that, there were email lists, and I found the Mail_a_file software package for BCUG to purchase so workshop leaders could send emails with attachments to their members. I thought that was neat (the code implements a browse capability, looking into the user's PC to find and upload a file), and adapted it to the existing Bulletin Board code too.

Finally, I did a complete redesign of the website which, interestingly, a former coworker at Accurate Information Systems had shown to me.  She pointed me to the free software that makes it work and was available to answer questions. She once commented "You're having way too much fun for a retired person."   Thanks, Carol!

At this point I think I should give a kudo to the Open Source movement.  It makes it possible for hobbyists like me to find free software that does what we want and allows us to incorporate it in our own web pages.  Without it I could not have accomplished the above three projects.

And never underestimate the value of a network.  I asked my son DJ a perl question (he says "Some mothers ask easier questions") and he referred it to the perl guru at JPL who liked it so well he included it in his next book in a section titled "How to Ask Questions That Get Answered". The book is "Perl Medic, Transforming Legacy Code" by Peter J. Scott. My question is on Pages 290-291.

Meanwhile my husband Charlie was producing a "Photographic Atlas of the Near Side of the Moon", published in 2005 by Springer-Verlag and I created a separate website to feature his work.

I first joined the Monmouth County Senior Hikers Group in the summer of 1993 between jobs and then rejoined in 1997 when I finally retired.   There was a member who produced and distributed a list of hikers and their addresses.  I had a digital camera and realized I could add faces to the addresses.  We worked together and created an Access database of the info and printed listings complete with photos.  That sure helped folk to become acquainted, plus provide contact information.

As time went on, I added a web page to my personal site with the schedule of hikes.  Inevitably, people contributed pictures of special hikes and events, and that branch of the website is still growing.

Lately, the hikers asked for an online book club.  They often discuss books as they hike, but not everyone hears each conversation.  Although they want to know the recommendations of fellow hikers, they are not interested in the traditional book club with meeting places/times and assigned readings.  So I've implemented a page where they can review what others have read, add their opinion to any review or create a new review.

So to sum up, I now maintain three web sites and six Access databases. I've added just enough perl and javascript knowledge to accomplish what I want to do.  And I have time left over to hike, swim, ski, travel -- whatever.  Life is good.


It's exciting to see the advances in the past ten years.  Google just blows my mind.  I'd love to know how they maintain their database and search it so fast.

This past weekend Charlie and I visited the Museum of Natural History in NYC.  There was a chart of mankind's progress from earliest time.  The stone age was quite long, followed by the iron age.  Each succeeding age then was shorter than the one before it.  That's the phenomena I've witnessed in each decade of the computer age.  As people build on the work of those before them, advances come faster and faster.

I'm now reading "The Joy of Linux". This describes the open source philosophy and the acceleration in acceptance of it.  I plan to store the book on a shelf in the kitchen, next to "The Joy of Cooking".  Actually, I have two copies of "The Joy of Cooking".  The first was a wedding present and is now dog-eared and held together with two rubber bands.  The next was issued in 1975 and sports the white cover that the Linux book imitates.  Since, like many of my contemporaries, I no longer have much interest in cooking, I think the three books together on the shelf reflect the progress of women in our culture.  At least they reflect my progress.

One final reflection -- it doesn't hurt to have a son who's a software guru with friends.  DJ and his friends have answered some tough questions and given me new ideas.  Thanks DJ, Glenn, Mike and Peter!