Hi, my name is Carl Weinmeister and I'm joined today by Stefano Fierrovanzo. We're going to talk about the data science odyssey from a notebook all the way through to serving a model and everything in between. We're going to cover a complete data science workflow and introduce several products that help along the way. Let's get started. The primary use case we're going to cover is hyperparameter optimization, which is the ability to search across a wide variety of parameters to find the parameters that will create the best model. In general in this session, we're going to learn about simplifying your hyperparameter tuning as well as your serving workflows with intuitive UIs. The benefit is that you will accelerate your time to production with reduced training time and reduced time to build a process. You're going to get to the answers that you want faster and to deployment faster. And finally, we're going to cover collaboration. So reducing friction between the teams that build the model and the teams that deploy the model. First, what's Kubeflow? So Kubeflow is an open source project aimed at making ML deployments simple, portable across on-prem multiple cloud environments. And because it takes advantage of Kubernetes scalable so that you can run distributed training jobs and so that you can serve your models in a way that can handle the wide variety of use that you might have. The use cases we're going to cover today cover quite a variety. The first is that we're going to cover a complex ML system at scale. So we're going to cover more than what they might call a toy data set where it's small, it fits in one virtual machine. We're going to talk about handling a more complex scenario. We're going to talk about rapid experimentation, hyperparameter tuning, seeing how all this can work in both hybrid and multi-cloud workloads. And finally, you might see how these traditional concepts and software development of continuous integration and deployment might apply in the machine learning world. If you think about it, there's a lot of similarities there, concepts like testing the input data, testing the output of your model, making sure there's not a regression so that your model is better than it was before if you want to deploy it. All of these things you can codify into a pipeline that's reproducible and definable within your notebook. So the Kubeflow platform has multiple layers. Let's walk through each of those. First, you can bring whatever framework that you're comfortable with, whatever machine learning library you've learned or want to learn, you can use on Kubeflow. There are a variety of what we call operators that allow you to run your training jobs and serve your models. In this layer, we see the heart of Kubeflow, which is a set of components for capabilities like notebooks, Kale, which is going to help convert the notebook into a pipeline, the pipeline itself, which helps to orchestrate your workflow, hyperparameter tuning, which is called Kato, and several other components. We won't get into all of these right now. You also see a variety of serving components as well as capabilities for logging and monitoring, the whole stack of things that are necessary. And all of this is built on top of Kubernetes so that you're able to run your workload across multiple environments and the way that Kubeflow is designed. It will come naturally if you're comfortable with Kubernetes concepts. All right, let's walk through the workflow we're going to discuss in more detail today. So the first step is in the Jupyter notebook itself, which is available in the Kubeflow environment. In this notebook, you're going to start with identifying the problem and some data exploration and analysis. Next, you choose an algorithm, code your model. The next step is experimentation and model training. We're going to tune the model parameters and then finally we'll be able to serve it and that will take us all the way through the key steps in the process. Let's look at how Kubeflow works. So let's start with the user interface. Here's a picture of the user interface. You see on the left side, each of the key capabilities from notebooks, pipelines, experiments and so forth are available to you. You also have a dashboard that shows up where you see recent assets you've worked with and shortcuts to common things that you might need to do. In addition to the user interface, the command line is another way to interact with Kubeflow. So there are actually two command lines that you might want to use. So first, there's the standard Kubernetes command line that allows you to do things like check the status of a trading job and check the pods that are running, maybe get some logs, things of that nature. You also have the Kubeflow command line utility, which allows you to take templates that are YAML files and apply them to customize your configuration. Finally, there are APIs and SDKs. So if you're going to build a model pipeline, you're going to create a hyperparameter tuning job, these capabilities are available through an SDK. And the final thing I'm going to mention before I turn it over to Stepano is that ML code is one small part of the process. What we're seeing here in this diagram is from a famous paper about hidden technical data and machine learning systems. And what I want to point out is that these are things that you need to do when your code goes into production. It's inevitable. You will need to think about monitoring, logging, testing, managing your resources, making sure that you have a reproducible environment. So you'll have to build and manage that. By working with the infrastructure that we're talking about today, you're able to work on top of that and leverage it so that you could focus on the data science as well as putting together a process and a pipeline that matches the goals. of your business or your project. And you can leverage all the great work that's been happening in this project. So with that, I'm going to turn it over to Stepano. Thank you, Carla, for the great introduction to Kubeflow. Now that you have a general idea of the architecture of Kubeflow and all of the components that it provides, you might wonder how you can actually use it to develop and then continually improve and validate machine learning models using Jupyter Notebooks, Kale, Kubeflow Pipelines and Rock. So this is exactly what we're going to do in this tutorial. But first, let's have a high-level overview over the end-to-end workflow that we're going to implement. So first, the end user, you, will start from a Jupyter Notebook, so a local environment where you can develop your models or your training algorithms, etc. And then once you're done, all you need to do is to use Kale to annotate notebook cells to convert this notebook into a scalable pipeline. And afterwards, you can spin up a hyperparameter tuning job to run hundreds or thousands of parallel pipelines. Once that's done, you can use again Kale to select the best model out of this massive workload and then with a very convenient API, serve this model for everyone to use. Each step of the way is tracked by MLMD, so you can have an end-to-end lineage of the workflow. Also, each step is backed by PVCs and Rock takes a snapshot of these PVCs to have a complete time machine of your workflow. This is our agenda. We'll start from deploying MiniKF, so our local development environment. And then you'll learn how to convert notebooks to pipelines and then how to scale up this workflow with Coutib and hyperparameter tuning. And afterwards, how to serve the best model. So check out this URL, which will redirect you to a code lab where you can follow all of the steps of this tutorial at your own pace. Let's start by deploying MiniKF. MiniKF is our own portable and opinionated Kubeflow distribution. So MiniKF runs seamlessly on GCP or on your laptop or on any on-premises infrastructure. MiniKF is a single node VM, a single node Kubernetes VM that runs Kubeflow alongside Rock's data management platform. It is super easy to deploy and in just 15 minutes you have everything ready to go. Let's see how easy it is to deploy MiniKF on GCP. So I'm in the console of my GCP project and what I need to do to create a new MiniKF is to head over the marketplace. So I'm clicking on marketplace and then search for MiniKF. Here it is. Let's click and launch. All I need to do is to provide a name and that's it. After clicking deploy the deployment procedure will take roughly 15 minutes and you will be able to monitor all of the resources that we are deploying inside the virtual machine. For now I'm just going to use a MiniKF I have already deployed so once you start the deployment procedure you will see this page and once it's complete this URL will be available to you. So I'm copying the password of my newly generated user. I'm clicking on this link and I will be redirected to my Kubeflow homepage. So now that our MiniKF is ready to use let's start with the fun part. That is how to convert a node book into a pipeline. But first let's talk a little bit about Kubeflow Pipelines. Pipelines is one of the most important components in the Kubeflow platform. This is because data science is inherently a pipeline process, right? You always go through the same repeated steps, whether they be data processing, data transformation, model training and then serving and so on and so forth. So in this tutorial we'll try to simplify as much as possible the deployment and creation of this kind of workflows and how to make them completely reproducible. We'll do this with Kail and Rock. Now converting a node book into a pipeline has several benefits. First of all the node book allows us to clearly define what is the structure of the resulting pipeline. And since we have multiple cells we can easily parallelize and isolate them. Also once you have a pipeline you can apply data versioning and even different hardware requirements for running them, like running the training step in GPU and data processing in a CPU. Let's look at how the workflow changes when you use Kail and Rock. So before that what you would need to do to create a Kubeflow Pipeline is to write your machine learning code, maybe you test it locally, and then you would need to write some specific DSL code to construct and define the pipeline, and then build Docker images to package your code and all of your dependencies, and then build and upload the pipeline. Once you run it, if you bump into any bug or if you want to amend your code in any way, you would need to go all the way back to building new Docker images and then to redeploy the pipeline. But now with Kail and Rock this workflow gets dramatically simplified because you just need to develop on your node book, tag your node book cells with a very simple UI that you'll see later, and then run the pipeline with the click of a button without any Docker image building. And you can imagine how this workflow dramatically improves your speed to production and iteration. Let's also talk about data management and how Rock integrates with Kubeflow. So this is a TFX paper from 2017 that talks about high level component overview of a machine learning platform. So we can see here where the TFX components, the machine learning libraries, fit in the overall platform. And in our case this is where Kubeflow comes in to provide these kind of components in a containerized way. Kubeflow also provides the integrated front end to manage, deploy and monitor all of the various applications. All of this is orchestrated by Kubernetes. Now when you write the pipeline or the machine application on top of Kubeflow, you need some storage. So in general, you would write a pipeline that is specific, that interacts specifically with the vendor API based on the kind of storage technology that you're using. So Arikto comes in and provides a general purpose storage layer so that you can write pipelines that are not specific, that don't have to interact with a specific storage API, but can just access super fast local storage. How do we do that? Well, we've extended Kubeflow to be data aware and specifically to use Kubernetes primitives, PVCs, persistent volume claims in all of its applications. We do this by integrating with the container storage interface and sitting on the side of the critical IO path. In this way, you can read and write data super fast from local data, from local volumes. And in the meanwhile, Arikto can take snapshots of your volumes in mutable snapshots and share them across locations via an object store. So you can reproduce your environment or share it with your colleagues. Okay, so now we're ready to put our hands on a notebook and convert it to a pipeline. This is Kubeflow's central dashboard, the place where all of the Kubeflow's components come together and where I can navigate between them. As you can see on my left, I have notebooks, volumes, models, snapshot pipelines, and then experiments and runs where we group together objects coming from different applications. That belong to the same place, like pipeline experiments or hyperparameter tuning experiments. As a data scientist, the first thing I want to do is to create my own development environment. So I'm going to create a new notebook server. And it is just a matter of assigning a name. And in a manner of seconds, I'll have a full JupyterLab environment ready to use. Great, so the first thing I want to do is to clone the Kube repository to pull the example that we're going to run. So git clone, HTTP, git kubeflow, kale, kale. Great, so I get into the kale folder, the examples folder, and then the open-vaccine-caggle-competition folder. So we created this notebook to work on the open-vaccine-caggle challenge as we wanted to tackle the real-world problem. The challenge is about trying to locate the weak spots of a messenger RNA structure to help create a stable vaccine. This notebook contains a typical data science pipeline, starting from data processing to model training and then evaluation. I won't go too much into details of what this notebook is actually doing, because we don't care right now. But you will be able to play with it after the demo. So the first thing I want to do is to verify that they have all my dependencies available. So let's run the imports. Apparently I need to install some libraries, so let's do just that. Notice how I'm installing libraries here on the fly, and you will see later what this means. Okay, so now everything should be running smoothly. Now, since I know my notebook is working, I want to convert it to a pipeline with kale. So I'll head over here on the left on the kale panel and enable it. You can see a bunch of colors and badges pop up in the notebook. This is kale showing you how the notebook has been annotated. You can use kale's annotations tool to actually change these annotations, create new ones, so each cell can be annotated with the name of a corresponding pipeline step and its dependencies. For example here, the processing data step depends on the load data step. All the cells having the same color will eventually belong to the same pipeline step. That's all we need. And if I click the compile and run button, kale analyzes the notebook, validates it, and then starts to take a rock snapshot of the current environment to completely reproduce the environment we are developing on. So since I just installed on the fly some Python libraries, my pipeline will run regardless seamlessly without having to build new Docker images. Thanks to Rock Snapshots. Then I can follow these deep links to see what is going on. If I click here, I'm redirected to the Kubeflow Pipelines run page, where I can see the new run that starts. Since this run will take a few minutes to complete, I will head over to an experiment I run previously and show you the resulting pipeline after a few minutes of computation. As you can see, we have a four step pipeline. Each step corresponds to an annotation in the original notebook, so multiple cells have been packaged inside this step by Kale, which is running in the exact same original environment with all of your dependencies. Also, K creates machine learning metadata execution for each pipeline step. This allows us to track and link other entities that either belong or relate to the step itself. Some examples are the parent KFP run and artifacts that are consumed and produced by the step. We can see them by clicking here and navigating. So as you can see, this is an MLMD execution that was created by Kale. I can click here to go to the specific page and notice, for example, how the run ID, so the KFP run ID, the parent of this step execution is clickable. This is because we are standardizing on using global URIs to reference and link resources across Kubeflow applications and we are extending the Kubeflow UIs to interpret these unique identifiers irrespectively to where the UIs actually live. So clicking here will redirect me to the original run page. Likewise, going back to the execution page, I can scroll down and see that we took a rock snapshot at the end of this step. So we are linking with Kale this snapshot to the step execution and we can even navigate to the rock UI. Now that we have converted the notebook into a single run pipeline, we want to scale this up and optimize our model with hyperparameter tuning. So how do we do that? Well, we could start tinkering manually with the parameters in the notebook and run manually multiple pipelines just like we did now and then compare the metrics and choose the best model. Or we could use Catib to automate this process. So Catib is the official Kubeflow hyperparameter tuner. It supports several machine learning frameworks from TensorFlow, MXNet, PyTorch and others. It is very flexible and we've integrated it with Kale to run it from a notebook. So what we can do is we can go back to the notebook, configure inputs and outputs in a pipeline so we can create a pipeline that accepts input parameters and produces metrics that Catib can use to optimize over the resulting pipelines and then, still from the notebook, select the input hyperparameter tuning space, the search algorithms and the goal. Afterwards, just with the click of a button directed from the notebook, we can create and submit the new Catib job. Let's see how we can do that. We are back to our original notebook. So the previous pipeline completed successfully and now we want to optimize it with hyperparameter tuning. As we said before, we need two things. A pipeline with inputs and outputs. In Kubeflow Pipelines, it's possible to create pipelines that have input parameters so that can vary between pipeline runs and output metrics. With Kale, creating such a pipeline is very easy because you just need to create a notebook cell with some variables assignment and then annotate it with the pipeline parameters annotation. And with this, Kale will make sure that the resulting pipeline will be parameterized with these values. And then, to create a pipeline metric, all I need to do is to select to choose which variable I want to basically print to output from my pipeline. In this case, I'm choosing the validation loss here produced by my training procedure and then on the bottom of the notebook I can just print the validation loss and annotate this cell with the pipeline metrics annotation and this will make sure that the pipeline will output a Kubeflow Pipeline metric. Now, if I want to start the hyperparameter tuning job to spin up hundreds of pipelines all I need to do is to enable this toggle and open up this cut-in dialog that Kale provides. You can notice how Kale already recognized all of the variables that we've tagged with the pipeline parameters annotation. We have already prefilled this dialog before but you could choose between ranges and lists however you want it in all of the input parameters. Also, you can choose between various search algorithms and then the search objective that in this case it's just the validation loss we chose before and we want to minimize it. So just like that we've defined a hyperparameter tuning job and by clicking the compile and run button Kale will basically again validate the notebook, convert it and build it into a Kubeflow Pipeline. ROG is taking now a snapshot of the current environment to reproduce the current state in the pipelines and then Kale also creates and submits a new cut-in experiment where each cut-in trial will correspond to a pipeline run. Also, we can see here a live view over the current state of the cut-in experiment. So as soon as new trials and new rounds pop up and then complete you can monitor here directly from the notebook. Now I can also click in this link and navigate to the cut-in UI. This is a cut-in UI we have built from scratch following the design patterns that you may find already in other Kubeflow applications. We've improved over the existing cut-in UI to show much more detailed information over the status and various details of the experiments. Since this experiment will take a lot of time to run let me show you something I ran before. So I'm going here on the left selecting experiments and then HP tuning to go to the home page of our new cut-in UI. As you can see I have my new experiment running and I can also see something I ran before with 50 trials and at a glance I can also see what was the best metric and the corresponding input configuration. Let's go in and see. So our new UI also exposes the state of the entire experiment with this nice graph where you can see color coded all of the trials that have executed and their parameter configurations. This plot is interactive so that you can also basically explore how the various parameter configurations behaved and how they basically influence the output of the experiment. You can see at a glance what was the best trial configuration what's the current state of the experiment and then a list of all the trials and when you hover on a row you see the specific trial and its configuration in the graph. By scrolling down we can see at a glance also which one was the best trial this one highlighted. Here it is. If I click on this pipeline icon here on the right I will be redirected to the corresponding Kuflo pipeline run. This is because each trial corresponds to a specific pipeline run so we want you to be able to navigate between UIs seamlessly and link together all of the entities. If I click on config here I can I also have some new category related entries and navigate back to the original category experiment. So you always know where you are and how specific objects and entities across Kuflo link together. Let's go back to the pipeline. So this is the pipeline that performed best in my original experiment. You can also see that there are these two icons. This means that these two steps have been cached. In fact when running a cutting experiment not all steps need to be rerun across pipelines. The first step in this pipeline that consumes the input parameters is model training. So we actually don't need to reload and reprocess the same data over and over again. So with Rock and PDCs we are actually just skipping these executions and starting from here from from a process data snapshot. And let's actually go see visually using MLMD. Since Kale is logging input and output artifacts for each step we could go look here at the artifacts at the specific rock artifacts that are associated to this step. So by clicking here I can navigate to the rock snapshot artifact saved into MLMD then to the lineage explorer. And here this nice visualization allows me to understand that this rock snapshot artifact was produced by many many steps and consumed by many others. This clearly means that all of these pipelines are using the same step and so they were being cached. Now that we've run a massive hyper parameter tuning job we want to take the best model and serve it with KF serving. KF serving is Kubeflow's component for serving models into production. This is the on K native and it allows serverless inferencing on Kubernetes. So K serving provides several abstractions on top of various machine learning frameworks and provides quite a few features like canary deployments and scale to zero and much more. So what we want to do is to select the best trial of the previous cutting experiment and restore a notebook out of a snapshot of that of that pipeline. So in this way we'll use rock to restore the notebook from the best trained model and have the model directly into notebook memory. Then we'll use a very convenient KLAPI to serve this model. In general creating inference services is quite a bit tedious as you can as you need to submit new CRs and maybe even build Docker images if you're using preprocessing transformers. You will see how this all becomes much, much easier with KO. Let's see how it's done. I'm back to the previous hyper parameter tuning experiment. So I want to select the best trial and then get the best model out of it and serve it. So to do that I will first navigate to the corresponding pipeline and choose the last step in the pipeline. This is because I want to restore a notebook with the state after the model has been trained. So I'm heading over to visualizations where Kail has produced a bunch of artifacts. So here I can see an artifact corresponding to the first snapshot taken before the step execution and then another artifact corresponding to a snapshot taken after the step execution. Let's take the first one. So I'll open this link which will redirect me to the rock UI and specifically to this snapshot page. I'll copy this link which I can take back to central dashboard. I'll open up notebooks, new server and I can copy here the special URL which will make sure that my notebook is restored from this snapshot. Let's call this actually let's call this serving. Now that my notebook is up when I click on connect something interesting happens. So Kail notices that we are restoring a notebook from a snapshot. So what it will do is it will automatically open up the original notebook and start restoring a marshaling data so that the current in-memory state is exactly the one that I would have found at that specific point in time in the pipeline execution. This means that I will find my model in memory. I will have in my Python memory the best model trained out of the hyperparameter tuning experiment. That's it. Kail has completed the resuming of the notebook. I can create a new cell here and verify that model actually is here. I haven't done anything. I just created a new notebook out of a snapshot and here it is my model in memory. Okay. So now I have my best model here in the notebook and I want to serve it. So Kail provides a very simple and convenient API to serve the model. Let's see. So I can import Kail.common.servutils import serve. And now I want to use this function to serve my model and it's just as easy as saying serve model. But then I also want to pass some pre-processing function. Since KF serving supports both predictors and transformers, we have a very handy function here in the notebook which pre-processes features for us. So we can then pass just raw data to the corresponding model server. Let me go here and redefine the function and the tokenizer that this function uses. So I'm back down to the bottom of the notebook and I want to tell my API that the corresponding model server will have also to create a transformer which will need to execute these process features function. And I will need to pass as well my tokenizer. So that Kail knows that it needs to package this object alongside this function. So now that I'm running this, we can see that Kail recognizes the type of the model. It dumps it. It saves it in a specific format. And after this, it will start taking a raw snapshot and afterwards creating a new inference service. And now that the inference service is ready, we can print this object to see where it is served. And by clicking here, we can navigate to our new models UI. So we've built a brand new UI to expose the entire state of Kail serving to monitor and expose all of the inference services that you may deploy. As you can see here, I have an overview over where this model is exposed. The fact that I deployed both a predictor and a transformer and the entire state. I can have more details here about the various resources, the fact that we are using a PVC where it is mounted. And then we can also have a look at the various metrics exposed by the specific pods that are running, one for the predictor and one for the transformer. These are live updating metrics that come from the underlying K-native resources. We can also see logs. These are live logs coming from the predictor and the transformer. And we'll see how these update once we send a prediction and also the YAML definition. And to have an overview of all the models, we have a nice homepage where we can have a list. We can see a list with a summary of all our running model servers. Okay, so let's go back to the notebook and actually send, try to hit this model and get a prediction. So I would want to create a data structure to send to my model server. For this, I'm creating a dictionary with an instance key, which is a standard way to send data to a TensorFlow server. And I'm going to pass our unprocessed X public test data. This is data that we've defined before in the notebook and that was actually restored automatically. By KO. So this is our data, something that we will want to send. And then to send a request to our model server, it's just as easy as saying kfserving.predict data. Actually, it was kfserver. Okay, so sending a request and let's head here to the logs page and you can see live that our transformer is actually getting some input data unprocessed data and then Kale is doing some magic and then the data is processed. All this happened without having to build any kind of Docker image. So Kale was able to detect, parse and package the input processing function and its related assets, create a new transformer, initialize it here and then use it to actually process the raw data to be passed to the predictor. And here I can print my predictions. It should be quite a big response. So let's give JupyterLab a bit of time to process it. Here it is. That was the last part of our tutorial. So now it's time to summarize what we've learned today. So you've learned, you have learned how to install and deploy mini kf in a super easy way and in no time. And then how to use a notebook to build some machine learning model using Kale unnotated and deployed and converted to a scalable pipeline. Afterwards, how to use scale to even scale more this workload using hyperparameter tuning and run tens or hundreds of pipelines using caching. Afterwards, you've learned how using rock and the snapshots that rock takes to reproduce every step of the way. You can restore a notebook from a pipeline to its previous state. So in this case, we took the best model trained out of the hyperparameter tuning job to find the model ready to use in the notebooks memory. Afterwards, we used a convenient to use Kale API to serve this model directed from the notebook to make it production ready. All of this workflow was backed by an LMD so that you could have a complete lineage of your work. So we've also seen some cool new UIs like the catib UI and the models UI. These UIs are not open source yet, but will work in the next weeks and months to make sure that they will find their way into upstream Kubeflow. Also note that this is a pre-recording and we are still heavily working on this workflow. So by the time you see this video, some of the features might change or might see improvements. This is just a small sample of community contributions that we've done at Ricto. We are investing a lot of time and effort into making Kubeflow a great platform for machine learning. So from Jupyter Manager to volume support, MiniKF and authorization manifest installations across the board. Now Kubeflow is a big and vibrant community backed by many both large and small companies. So if you feel like you want to join as a developer or as an end user, here is a list of channels and public places that you can join and talk with us. Now, all the new things that you've seen today are the product of a joint effort of our internal team at Ricto. So I want to really thank all of my colleagues who have contributed tons and tons of work to this. So from Ilias, Dimitris, Kimonas, Apostolos, Konstantinos and Chris, really thank you. And thanks to you for sticking with us until the end of this tutorial. So now we are ready to answer all of your questions.


Suspense. Radio's outstanding theatre of thrills brings you an hour, a full 60 minutes of suspense. Tonight, starring Mr. Robert Ryan and Ms. Ruth Warwick in a play by Devory Freeman, entitled Beyond Reason, edited and directed by Anton M. Lieder and produced by Robert Montgomery. This is Robert Montgomery. For well over a year on the average of five times a week, my newsboy and I have engaged in the same spirited conversation. Each evening I greet him with anything in the papers, and each evening he answers with, no, same old stuff. Then I spend part of the evening reading the Chronicle of the Days events, the same old stuff. And I learn that the tensions in the world are greater or lesser, that some people want high taxes and some people want low, that some people are born, and some are married, and some are divorced, and some are dead. Same old stuff. Yesterday a man walked out under his front porch, lost his balance on the top step, and one minute later he was dead. An hour ago a wife in Fort Wayne, Indiana went to the hospital. Ten minutes ago she became a mother. One cycle of life completed, another just beginning, and the newspaper will report them both, clearly, accurately, and without editorial comment. We can assume that in each of these homes the old patterns of living are broken and the new ones are in formation. But we can't know what happens next in the history of these two families. And these are very real stories that begin with birth or death. We have one for you today, a story entitled, Beyond Reason, and it began this way. At exactly 7.22 on the night of January 5th, Pinkton Carr reached the corner of Post and Stockton Streets in downtown San Francisco. He was feeling fine. He stopped for a moment to look at an attractive window display, and then still looking back, he stepped off the curb.  No! You hit him! Stop! Stop! Pinkton, run, driver! Stop him! Oh no, don't look! Oh the poor man! Call an ambulance! Somebody call an ambulance! This guy's hurt bad! I saw it! I saw it happen! He just stepped off the curb! Somebody call an ambulance! Call an ambulance! Who is he? Do you know who is he? You mean who was he? Oh the poor man! Next day the newspapers put it briefly and concisely in a small headline on page 4. Business man hit. Business man hit run victim. You probably read it. Not very interesting unless you knew him. The police were working on the case, maybe one day soon they tracked down the car. Maybe. It looked like just another one of those things soon forgotten, over and done with. But a tragedy like that can be a beginning as well as an end. It can start a whole chain of events, generate a whole series of reactions. It can become the genesis of fear, especially in the mind as sensitive as the mind of a vanjalan car, the eldest of three daughters. Vanjikar, beautiful, lonely, susceptible.  How could such a thing have happened to him? Accidents like that don't happen to people like him, not without some reason. It couldn't have been an accident. It couldn't have been. Who is this man? Harry Newton. This man has suddenly become so important in our lives. My father's business partner, they say. Oh, but my father never had a business partner, never, I'm sure of that. He would have told me. But then, who is Harry Newton? He was a hard one to pin down in his car, doesn't have a home, not even a permanent address. He just seems to drift around. Was he up here in San Francisco the night my father was killed? I checked that, no he wasn't, but he was here that day. In fact, that's the day your father and he signed the papers that made them partners. That day? Yeah, that's the date on the contract. He left Frisco on the four o'clock plane. The accident happened about 7.30. Yes. He seems to be the promoter type. Somebody else always takes the risk. How could my father have made a man like that his partner? The contract is perfectly legal, Vanjie. He is your father's partner. But why? Why did dad ever take him in? Dad contributed all the property, this man contributed nothing. Nothing but himself. Evidently, your father thought he was a super salesman. You see, they'd planned to subdivide and sell the acreage here at De La Vista. And he's determined to go through with it. No, I'm afraid there's not much we can do. No, I suppose not. I'm sorry. This is very trying for you and your sisters, I know. Perhaps when he comes up here, we can persuade him. He's coming here? Of course. To look the place over. You'd have to stay here quite a bit to get the work started. Yes, of course. I must have realized that only. I'd never really let myself think about how someday I'd have to meet him face to face. Uh, Vanjie, be careful. You don't trust him either, do you? No, I don't trust him either. Every day accident, but it can be the beginning of many things. Especially when the dead man leaves unfinished business behind. Unfinished business and 400 choice suburban acres between the highway and the sea. 400 undeveloped acres in which any real estate man would see the possibilities. Add to that a partner like Harry Newton and three beautiful daughters. Especially a daughter like Vanjie. I just fell down, getting out of your way.  I'm sorry. I came around the bend and didn't see you until... Oh no, it was my fault. I shouldn't have been walking in the middle of the road. Daydreaming like that. All right, thanks. The receiving hospitals are made for people like you. I know. I started out at the age of two playing with electric light sockets. Well, since I nearly knocked you down, I better introduce myself. My name's Harry Newton. And I always cross streets when the light is green. Getting by in life merely requires the ability to take advantage of green lights. And the ability to recognize red lights. Huh? I'm Evangeline Carr. So... So you're Vanjie, the beautiful one. No, no. Grace is the beautiful one. And Susie? She's the cute one, the baby. And you, Vanjie? Oh, I'm... Well, I'm just me, Vanjie. The plain one, the old maid. Just because you're the oldest? Mr. Newton, you wouldn't be interested in me. No? Maybe I like plain girls. That was the way it was. So, sudden, I couldn't prepare for it. And I'd met Harry Newton. But what about all those questions and fears in my mind? What had happened to them? I didn't know. Downstairs, Harry Newton was talking to Aunt Martha. Of course you'll realize, Mr. Newton, this is merely an interview. Our only knowledge of you is that my brother entrusted you with some of his real estate ventures. He didn't entrust me with anything, Andy. He watched me like a hawk. You'll realize, of course, the responsibilities that go with this venture. We know nothing of your character or affiliations. Perhaps you can supply some of the details. I've got a credit card with the Union Oil Company. Look, Andy, I came 400 miles from Los Angeles to discuss the promotion of a subdivision. It's a little late for references. I'm in this deal with both feet in a legal document. Are you handling it for the kids? Well, let's have a drink and make small talk. You'll learn more about me that way. How about it? Thank you, no. You can make yourself at home. Dinner is at seven. Okay, thanks. Thanks very much. Let a lady make a phone call when she doesn't know she's not alone. That's rule number... Who are you? Harry Newton, who are you, Grace? No, I'm Suzy. The youngest. You're the man who murdered my father. That's a pretty big statement for a little girl. I say it only as an apology for having thought it. I accept your apology. Only don't say it again. I won't. You're going back to Los Angeles soon? Tomorrow. Would you like company? A passenger? I said company. Your aunt will ask for character references. I didn't ask for any. You got yourself a ride, Junior. You wouldn't be thinking of leaving earlier. Uh-uh. I'm sleeping over. Our first customer is coming to dinner. Who? People by the name of, uh, Burkhart. Oh. What Burkhartness, silly wife, huh? They're awful boars. And get set for some boring neighbors. We plan to sell them a lot. That's too bad. I love company, but I think I'll develop a headache and stay in my room tonight. Unless I can change your mind about leaving. Shall we change the subject? Suit yourself. I just don't want to press my luck too far. All that evening, through dinner with the Burkharts, through the business talks that followed, all I could do was watch him, listen to his voice. I'd never expected a man like this. Never expected him to make me feel like this. Like I felt when he smiled and said good night. Like I felt when he drove away with Susie for Los Angeles next morning. Like I felt when he called me long distance. How are you getting along up there without me, Vangie? Oh, I suppose we're just barely managing. Good. I'll have to hurry back. The surveyors will be here next week. Who cares? I don't want to waste this call talking business. I just want to talk to you. I'm afraid so. And still as plain as ever. Yes. Wonderful. Don't ever change, Vangie. All right. Why did I laugh? And why did I go around walking on air? He was just floating. Probably with a purpose. For business reasons. But I didn't care. I knew it was crazy, but I didn't care. I counted the days until he'd be back. When he came, he brought me a gift. Quilted velvet roll. Aunt Martha said it looked like the inside of a coffin, but... But I liked it. And I liked the funny little note that went with it. After a few days, seeing him, talking to him, began to fill my thoughts so completely that I couldn't sleep. So one night I walked down to the rose garden to the little tea house on the edge of the palace aid. I was sitting there, watching the moonlight on the surf far below. Oh, it's you. What's the matter? No sleep tonight? I have things on my mind. Like real estate? And me? Yes. I'm trying to make some sort of plan. I'd just like to feel my way along, see how far I can go. Plans are good to start with, then you follow your instinct. I'd like to know where I'm going. And you don't? I'm not sure. You've never asked me a lot of questions like the others. But I suppose you've been wondering why your father and I were doing business together, why he invited me in. I knew there must have been a reason. A reason? I met him in Palm Springs, gave him a tip on a horse, and it won. He figured he owed me something. That's hard to believe. Isn't it? Well, of course he liked me, too. We thought I had guts and brains. Beyond that, he didn't want to know a thing. And if he had... I'd have told him. Come here. Harry, no. You're still afraid to follow your instincts? I don't know. Come here. It's all so crazy. Two weeks ago, Harry Newton was just a name. A name I hated and feared. There's nothing of that now. Now he's a man. A man that I love. My husband. We drove to Las Vegas and were married in a little chapel there. Then we had a fast honeymoon, play roulette, seeing Boulder Dam, just having fun being together. And when we came home again, words were still ringing in my ears. For better, for worse, for richer, for poorer, in sickness and in health. To love and cherish until death do us part. Until death do us part. I've moved my things into a corner room, Benji, so that you and he may have the suite. Relax, Andy. This is strictly temporary. We'll probably go to Los Angeles eventually. All Harry's friends are there. Meanwhile, I'll have my stuff shipped up. There isn't much. It's packed away in Lou Danches apartment. He's the one I was telling you about. Honey owns that restaurant on the Strip. Well, you were away. There was a phone call from Mr. Newton. Yeah? From a Miss Kitty Platt. Kitty Platt? A girl I used to date. I wonder what did. Look at me. Head over heels in matrimony and... and I love it. Oh, Harry. Harry. Is that a private match or can anybody get in it? Oh. Hello, Susie. Hi. You'll have to excuse my lack of tact. Never been a sister-in-law before and I'm at a loss. Best of everything, sis. You rate it. Thank you, Susie. Is anything wrong, dear? You look awfully tired. Hasn't Harry told you? Takes a gentleman to keep a secret. Thank you, Harry. You're welcome. What a lovely wedding band, Vanjie. Nothing temporary about this piece of jewelry.  Tell me, Vanjie, darling. Did he buy you the short-order ceremony or the blue plate? It's very impressive, I understand. Bless, oh, Lord, this ring that he who gives it and she who wears it may abide in thy peace. And it's brand new. Susie. Susie, dear. Harry.  You mind if I speak to her? As a member of the family, I feel I have the privilege of helping. I'll be right back. But, Harry... Vanjie! Vanjie! Oh... What is it, Anne Martha? Well, I didn't want to talk to you, dear, while he was with you. But I'm worried about Susie. She's been acting very clearly. Not eating and so jumpy. What do you suppose is wrong? I don't know. But she hasn't been herself since she went to Los Angeles. Perhaps if you had a talk with her. Harry is doing that now. Harry? Yes? A stranger. Sorry, dear. I shouldn't have said that. It's just that I can't get used to the idea. I mean his being one of us. But then I hardly know him. It's very hard to know him. Yes. I suppose it is. I only meant that perhaps someone else should talk to Susie. You mean you think maybe Harry has something to do with Susie acting this way? Why, no, Vanjie. I didn't say that. No. No, of course not. How is Susie? She'll be okay. Maybe I better talk to her. Leave her alone. She won't tell you anything. Then you tell me. That's one of those things. How do the writers put it? Unrequited love. You? Well, if it is, she hasn't told me the whole truth. What did she tell you? Say, how do you turn the heat on in this dungeon of a room? There's a gas heater in the fireplace. But what did she tell you? Harry? Look, Angel. Are you going to turn on me, too? Don't do it. I need you. I've been rattling around like a pebble in this old drum of a world with nothing to grab onto. Now I'm safe. I've got somebody. This alley cat's got a home. That's you, Angel. You're my roof and four walls. Oh, Harry died. Please understand it. It's not that I don't trust you. But I'm worried about Susie. Okay, baby. You talk to her tomorrow if it'll do any good. But right now, don't worry about it. Come on, let's get some sleep. What? What was that? Six o'clock. Oh, it's Aaron, I think. Who's Aaron? It's the garden. He must be below that window there. What's up? What about her? She's dead. Accidents breed more accidents. Or was this another accident? At any rate, in the grim sequence of events started by that simple accident on a city street, a second member of the car family was dead. They say tragedies strike in threes. I wonder. And so does Vanjikar wonder. Why did it happen? Why did she do it? What did Harry know? Did he have anything to do with it? Oh, no, no, I mustn't. Just relax now, Res. That's what I'm supposed to do. Relax. In a few minutes he'll come up and tell me. Tell me what they're talking about down there. He and Aaron and my sister, Grace. Tell me about it, Aaron, from the beginning. It's hard for me to tell it now, Miss Grace. It's like a dream. She hasn't told it the same way twice. But I tried to. I tried to. Mr. Newton knows that. Now try again, Aaron. Well, I was up early. Not early for me, but early. And there was a mist and the ground was wet, so I wore my rubbers. I was pinning back the honeysuckle on the trellis near the garage when she came by. Didn't see me, but I saw her walking as if in her sleep. Yet she looked as if she knew where she was going. She dressed and combed and carried a purse. So I said good morning. But she didn't answer and went off into the mist toward the tea house on the edge of the palisade where there's only one path. And then presently I worked my way down the path through the rose garden to say good morning again, but she was gone. She had jumped into the ocean onto the rocks below and I found a purse, that purse on the bar and that writing crop. The writing crop is mine. I left it there several days ago. Oh, I see. All right, Aaron. That's all. You may go now. All right, Miss Grace. Well, Mr. Newton? Harry's the name. Yes, of course. We are related, aren't we? Should I apologize for not belaboring you with congratulatory messages on your marriage? Some people are just naturally short on sentiment. You have other gifts. Thanks. I have an instinctive aversion to attractive men being snatched from the open market. If I ever get back on the market, I'll send you a credit slip. Planning to get back on the market? Not at this particular time. I see. Don't turn on the light, Harry. I look awful. Relax, Angel.  I can't. I can't. Oh, Susie.  Take it easy. This way you'll just fly apart, springs and wheels and everything. You're going to have to rest a few days. Oh, I want to know everything, Harry. Who was it? Who did this to Susie? I lied to her. Oh, no. I mean, I lied when I said Susie chose me as a confidant. The way it happened, I stumbled into the middle of her romance by accident. Who? The neighbor of yours, Whit Burkhart. Whit Burkhart? Oh, no, he's married. Yeah, you see, I bumped into them in a quiet little restaurant in Los Angeles. I was about as welcome as bad news in a collect telegram. I grabbed a quick one at the bar and ran. But is that all? No. Susie made it her business to see me the next day. She wanted me to promise not to tell anyone I'd seen them together. I let her talk and she did. It was nice the way she told it, crying as if her insides were splintered. This fellow Burkhart had met her in Los Angeles to let her know that they'd come to the end of the line. He was afraid his wife was getting wise, so they had one last rendezvous. That's all, except the way she loved this guy, he must be all right. Oh, no, Harry. A man doesn't have to be all right for a woman to love him. The next few days I spent in bed. I was supposed to relax. I couldn't. There was too much to think about. Even the doctor's pills didn't help. Little things made impressions on me. Little things that people said. Your husband took me riding this morning, darling. Mm-hmm. Tell me, Vanjie, how did you ever trap him? I don't know. He just seemed to like me. Well, I guess we're not hard to like. Daddy left us quite a bit of allure. A square block in San Francisco. Four theaters, two open-air markets, and a lovely office building in Los Angeles. In short, a real estate man's paradise. Grace. Sorry, darling. He's so different from my faithful, methodical Lenny. I'm just jealous. Aren't you flattered? But you're making yourself irresistible. Oh, I just got tired of looking like something that's been left out in the rain. Flowers do all right. You're very sweet, Harry, but I know my limitations. Nonsense. I think you're very attractive. But not beautiful, like Grace. If we take her for a measuring stick. No one would take Grace for a measuring stick or any other kind of stick. She's the, uh, sexy type. Nice of you to come, Mrs. Burkhart. Uh, cigarette? No thanks. Whit made me give up smoking. He really babies me that man. Forced me to go away for a two-week rest. I told him I felt fine, but he insisted. Uh, was that when he went to Los Angeles? Los Angeles? Whit hasn't been to Los Angeles in four years. I know he went along with me. Of course she was lying. Her husband had been to Los Angeles, just as Harry said he had with Susie. He must have been. She was just trying to make Harry look bad, and so were the rest of them. That's why I took to listening to find out what they were up to to protect Harry. And listen, even from behind doors. Hello, Newton. You remember me? Gurney, the lawyer? Uh-huh. Is Mrs. Newton too ill for a visitor? Yes, she is. What do you want? It's in regard to your suggestion, Mr. Newton, that arrangements be made to give you power of attorney in matters pertaining to de la Vista. You can lower your voice.  Any request of that nature should be gone over with all parties concerned. I said lower your voice. Of course, two one-timely tragedies have decreased the number of parties concerned. I'd say you have two down and two to go, Mr. Newton. What do you mean by that? Have you discussed this matter with Mrs. Newton? There's no reason for her to object. On the other hand, there's Grace Carr. You've spoken to her? Not more than a moment ago. It's no go, Newton. Miss Carr, it seems, has developed quite an interest in de la Vista or some aspects of it. She intends to work with you as closely as possible. Well, that sounds engaging. Yes. For you, it should be a cinch, Newton. I understand you're quite a hand with the ladies. Well, I've had my innings. I listened to everything. Sometimes I woke up in the middle of the night and listened. Listen to Harry and Grace downstairs talking, laughing, laughing. They laugh together a lot these days. Harry, you're wonderful. I don't know how you did it. What's up, partner? Telegram from Gin Strand. He's willing to talk turns, and he's free to talk tonight. Well, for heaven's sake, let's be sociable. Maybe we can have the deal signed and moving tomorrow. That means staying over in San Francisco tonight. I'll take care of the hotel reservations. Oh, high pressure, Harry. We'll take him to the best restaurant in town and we'll order their best meal. Are you worried about your figure? No. Are you worried about? See you later. Hello. I went to Grovener in San Francisco. A charming little hotel. Oh, it's you. Hello, Angel. I thought you were in bed. How's your headache? Better. I'd like to go along with you, Harry. Tonight? In your condition? What's wrong with me? Don't you want my company? You're not up to it. You're sick. I said I'm better. I've decided to help you. Help me. Grace helps you. She tags along. Can't I tag along too? Please, Harry, I want to go with you. All right. Why not? And this afternoon, I wanted to take me riding. Did you know I could ride? I'm better than Grace. I've won cups. Shall we go riding this afternoon? Sure, Angel. Maybe that's a good idea. What's that, Grace? I don't know, Aunt Martha. I can't see. The fog is rolling in. It's a horse. But no rider. Is it bandages? Well, Harry's. It's tearing down the path toward the highway, probably heading for the stables. Aunt Martha, something's happened. I knew it. I knew it. Come on. Here comes the other one. It's Harry. He's carrying bandages. Hi. Hi. Help me get her up to her room. Please, stop acting silly. I wasn't hurt a bit. Yes, she was. Her shoulder's bruised. I'm calling Dr. Rupert. And what's more, you're going to the clinic tomorrow for x-rays. No sense taking chances. Well, what happened? A horse pulled it. Why? I don't know. Maybe Harry does. Yes. He was riding just behind. Did you see any reason for it, Harry? No, not a thing. I tell you, Harry, there's nothing wrong with me. Nothing but a simple old-fashioned headache. Maybe you can grab some sleep before the doctor gets here. Why are you making such a fuss? Is it because you don't want me with you in San Francisco? You certainly can't go till we're sure you're all right. Then you're going without me. We'll talk about it later. Get some sleep, Angel. What are you doing? Connecting up your heater. This room is like a tomb. If we take the chill out, maybe you'll sleep.  Are we back on that again? I'm sorry. Harry. What? I've made you angry with me, haven't I? No. Do you love me? Sure. It's so strange, this marriage of ours. It's more like an affair, really. It happens so fast. We don't really know each other, do we, Harry? Why did you want me, Harry? Because I love you. Because you love me. Yet if I were gone tomorrow, would there be another to take my place, as there were others before me? I don't answer that. I get sillier by the minute. Forgive me, darling. There's nothing to forgive. Yes, there is. I won't be silly anymore. I'm sure you won't, Angel. Good night. I'll see that you're not disturbed. I'd come to that state of mind. The senses are so drugged with fatigue, there's an end to caring. Almost. All the doubts, the fears loomed up and developed me. Yet I was getting drowsy. Reality was becoming distorted into nightmare. There was a strange ringing in my ears, and I began to see things like a dream. I thought I saw a pookie, a macanary, lying in the bottom of his cage, with his little legs thrust stiffly upward in death. Then I was hearing things, a hissing snake, and down in the floor, I sighed, coiled up by the heater. I must, I must. Grace, Grace laughing, laughing with Harry. Somehow, for the first time, I didn't care. She had no cause to cloak. It happened to her too. Just like it happened to death and to Susan. And like it was happening to me. In tonight's full hour of suspense, Mr. Robert Ryan appears as Harry Newton and Ms. Ruth Warwick appears as Vanjie Carr in Beyond Reason. Tonight's study in suspense. Two of suspense. This is CBS The Columbia Broadcasting System. And now, back to our Hollywood soundstage and to our producer, Mr. Robert Montgomery, for Act Two of Beyond Reason, starring Ruth Warwick and Robert Ryan, in a narrative well calculated to keep you in suspense. You all started with a fatal accident on a street corner in San Francisco. You probably read about it in the papers a few weeks ago. Just an everyday accident. But it was an end and a beginning. An end for Pinkton Carr, who was killed. And a beginning for his three daughters, and Harry Newton. But with the sequence of events half played through, there are now only two daughters. One down and two to go. And right now, lying on the bed in her room, is Vanjie Carr, the hiss of gas, loud in her ears. Drowning out the thoughts, the fears, and the voices of Sister Grace and Harry Newton in the living room below. I told Jim Strand we'd meet him at nine. We can make it if we hurry. Where's Auntie? She's resting. Okay, let's go. Well, what about Mrs. Newton? Shall we take a peek? No, no. She'll wake up if I go in. Let her sleep. I could be back by midnight if we hurry. Let's just go. I dreamed church bells were tolling my den. Not someone was stuffing my throat in nostrils with cotton panting. I couldn't breathe. My limbs were bound to the bed. I tried to scream. Down to the spin. The bed was spinning. The whole room was spinning like a whirlpool, ever narrowing. And finally, it was as thin as the sound of a bell. Oh, Dr. Robert. I just got your message. Been out all day. How is she? She seems quite well. I guess my call was a little hasty. What happened? Fell off a horse. That girl always something. It's been that way as long as I've known her. So she thought she was strong enough to go riding. Maybe that's my fault. It was the horse's fault. Well, I'll go up and have a look. She's sleeping. Oh, that's always good medicine. Going someplace? Business appointment. Oh. Well, good night. What was that crash? That came from Banji's room. There's something wrong. There's darkness. Darkness flashing lights. Changing colors. Shifting designs. Noises. Somehow recognizable human voices. Banji. She's a murderer. Listen to me. I know. She's a murderer. Banji, lots of coffee. More coffee. Kill her. Blanket. Murder. Coffee. Murder. Banji. Murder. Banji. Banji. Banji. Good morning, Angel. Oh, Harry. That's been a tough night. But you came through as good as new. Last night I wanted to shoot myself. It's all my fault. Oh, no. No, it's not. Don't say that. I thought I connected the heater fine, but something must have happened. Maybe I kicked the pipe. I don't know. Harry. Banji. Listen to me before they come back in. They may say things about me. Your aunt's got some weird ideas about what happened. Don't listen to them, Banji. Don't listen to them. I won't, Harry. I love you, Angel. That's all that matters, isn't it? Yes. Yes, that's all that matters. What's wrong? Nothing, Harry. You don't believe me. I do, Harry. I do believe you love me. That is, I want to believe you. I want to more than anything else in the world. You've got to. Are we going to sleep some more? She's up to action, Rupert. There's a lucky girl. What a fine room for such an accident. Big and drafty. Poor pookie, my poor pookie. I'm sorry, Aunt Martha. It's too bad you didn't knock over the bed table sooner. But then it was soon enough, thank heaven. You should get some sleep, Mr. Newton. I'll settle for a cup of coffee. And as for you, Angel, no more trouble while I'm gone. No. Don't reassure him, Vangie. He's eaten with remorse. Disappointment, you mean? You consider the accident his fault. Accident? You keep calling it an accident. Your auntie, Vangie, is very disturbed and full of wild theories. There's no need to theorize. Oh? Oh, the blame is all mine. I've got up to get some water. Yes. The sleeping pill made me groggy. I must have stumbled on the gas hose and pulled it out without realizing it. I'm always doing things like that. Yes, you are, as long as I've known you. You know, there are those of us who go through life with a predisposition toward having accidents. We actually will them to happen. We, who are thus disposed, live closer to the edge of time than others.  We fall from high places. We are bitten by snakes wrapped in by riptides. If there's poison oak, we will find it. If there are live wires, we will touch them. We are wedded to calamity. We are indeed wedded to calamity indeed. You may discount the other nonsense and be sure of the lost. Wedded to calamity. No. No, I mustn't listen to such things. I mustn't think such things. How could I? I just saw the genuine concern, the fright in his face and I heard the love in his voice. In those days when I lay resting for my narrow escape, he was sweet. Sweet enough to convince me I wasn't alone. Not really. Not even when he was away in San Francisco on business. Hello? Oh, darling. Oh, darling, I've missed you. San Francisco matters well beyond the other side of the world. Oh, no, darling, come home tonight. Well, well, then try to. Oh, please, Harry, I... What? Unto eternity. Oh, yes, darling. Yes, I love you. Unto eternity. Yes, darling. Yes. Goodbye. But, suddenly, I was feeling alone again. Unto eternity, he said. But what did he mean? Eternity? The word made me shudder. Hello? Hello, Vanjie. You don't seem to recognize me. I'm Lenny Walden. Grace's friend. Oh, yes, yes, of course. Won't you come in? Thanks. Are you here? Well, no. I didn't really expect it to be. I just thought that... Uh, you two haven't quarreled, have you? No. Well, yes, I guess so. Oh, I'm sorry. Well, it was my fault, jealous. I'm in love with Grace, you know. I know. Well, I won't bother you anymore with my problems. Um, do you care to tell me just what or who you're jealous of? I'd rather not. Then may I guess? You're jealous of my husband. Well, don't be. My husband is very much in love with me. If anything, he merely tolerates the way Grace tags along after him and putters in real estate. I guess you're right, Mrs. Newton. It's just that when I saw them dancing... Dancing? Grace didn't even tell me she was in town. Somebody saw them at the band box and called me. I guess I was steamed up and anxious to jump at conclusions.  Not at all. Just a little hasty. I've got to hand it to you, Vanjie. You're a lot more broad-minded than I am. I envy you. Envy me. Envy me. When I was so alone and frightened when he'd gone, I went upstairs to our room. Frantically, I looked through his luggage, went through his clothes, searching, searching for some clue, some clue to the man I married. There was none. Nothing. And I had to know. Now I had to know. Long distance. Give me the hotel grovener in San Francisco. Thank you. I had to know. I had to talk to him, ask him to come home and go to him. Anything. Oh, Mr. Newton, please. Room 724. One moment. It was Grace's voice that lightest out. I ran out to my car. Grace had answered that telephone in Harry's room. And I knew now I was sure of it all.  And in the same way, he would kill me. Hey, hey, look at that. That car better slow down for that turn. Hey, look! The sequence of events comes to full circle. It started with an automobile accident. Was it going to end with another one? At least this was one they couldn't blame on Harry Newton. Vanjie simply drove too fast, tried to take a shortcut to San Francisco through a tree, rushing to her husband. In the end, he had to rush to the emergency hospital to her. But she was all right. The indestructible Vanjie. Perennial accident case, always smelling of antiseptics and painted with eyeliner. I lay there between hospital sheets pretending that the hypodermic needle had put me to sleep. But I was listening to Dr. Rupert as he talked to Harry and Aunt Martha. The night of your wife's first unfortunate experience, I had a vague suspicion that the circumstances were not entirely accidental. What do you mean? Vanjie has twice tried to take her own life. I don't believe it. It's true. For people like Vanjie, it is sometimes hard to define the dividing point between accident and suicide. There's a certain will to die, a subconscious compulsion which invites disaster. It's nonsense. Go on. In the matter of the gas heater, Vanjie said herself she'd pull the flexible pipe by accident. Was that accident or intention? I don't believe she ever did it. It was he who really pulled the cord. And again tonight, driving a car off the road at high speed. Was it accident? But did she suddenly cease to care whether the car made that curve or not? Or did somebody temper with a steering wheel on her car? You'd better stop that, Auntie. Please, Martha. You'll know too that the tendency seems to run in her family. Her father stepped in front of a moving car. How do we know even that?  They've got to work to save her. I'll do anything, Doctor. Anything you say. There'll be a lot for you to do. You have it all figured out, haven't you, Doctor? And you're right, of course. Except for that about mental depressions. That's not what causes it. It's the fear. Fear of being alone. Of not being loved. Of not being loved by Terry Newton. I heard what he said. He'd do anything. Anything. But he didn't fool me. I know he wants grace. I'm in his way. I know. It's stifling in here. It's so close. I must have some air. There was a little razor sharp blade here a little while ago. They used it to make a blood test. Oh, but it's gone. No matter. In the lavatory, just off my room, there'll be a drinking glass. If I can break that, without too much noise, glass cuts. Glass? Stop her! Stop her! She can't have gone far. Notify the highway patrol and tell Mr. Newton to take her from herself. And from him? What? Don't you see? You've given Harry Newton the soundest alibi in the world. You're assurance that Danji has bent on suicide. What did unmarther mean by that? The soundest alibi? No matter. I pressed close to bathroom wall with one shoulder tucked in the corner. They didn't think to look there. But someone was bound too soon. Televista, that was it. If I was going to die, I wanted to go home to die. I waited till my room was empty again. Then I went to the open window. It was right to come home. It was going on morning, but it was still dark. House was pitch black. I went inside. There was a telephone. A stray ray of moonlight shone in it. I could see it plainly. And I remembered... until eternity. To us part. With this ring I thee wed. This ring and three passes at a cramped table. I went upstairs. My room was cold, dark. One of his shirts was still on the floor where I'd thrown it in my frantic search of his things. It was a sports shirt. He said he wouldn't need a sports shirt in San Francisco. I hung it up in the closet. The room was in order otherwise. There was water by my bed and the sleeping pills. I emptied the bottle into my hand and counted them. One, two, three, four... Not enough. I said it loud. The words boomed in the silence. It was such a silence. Not a sound. Not even a stirring of pookie in that cage. I looked toward the empty cage and shouted at her in the sudden chill. There was a gas heater close by. I crossed over to it quickly, kneeled down and turned on the gas. Get a blanket. It's murder. Coffee. Murder. Kill her. I held the match to the heat and watched it flare up warm and alive. I was beginning to enjoy my borrowed time. That was Harry. Suddenly, in a burst of panic, I knew what unbothered meant. Dr. Rupert had given him the sound at Alibi in the world. The assurance I was going to commit suicide had come to make sure I didn't change my mind. It was dark. I could barely make out the shadowy bulk of him as he looked at the car I'd come in. Then he entered the house, walking fast. I had to think out what it all meant. The sound of his voice frightened me. All at once I felt terribly depressed. The boat was sinking. The sides were caving in. All I wanted was to get off. I slipped down the stairs, outside, through the rose garden, to the tea house. The night was turning milky. Vision was lengthening by the moment. I couldn't see the surf directly below me, but I could hear it. I thought of Susie, and I leaned on the rail above the retaining wall. Then I heard his footsteps approaching through the rose garden, through the morning mist. Good morning, Angel. Talking this morning, Mrs. Newton. I can't see you, but I know you're there. Don't come any closer. Is your hand on the rail, Angel? Are you poised and ready? Or are you hoping for a reprieve? Something I'll say that will turn despair to ecstasy. Don't come any closer, Harry. I mean it. I'll jump. And what's holding you back? A thread? A lingering hope? Yes. But I love you? Yes. But I don't love you? Yes. So that's it. You know it is.  You have a perfect alibi. I said I was a potential suicide. If you push me off, under the rocks below, as you pushed Susie, because you were through with it, it'll be justice perfectly crime and obvious suicide. What Burkhard's wife spoke to you? Yes. She could have been lying. I know. And you called my hotel last night, didn't you? And when Grace answered, you hung up. I figured that out and called you back with a beautiful explanation ready. That I'd gotten Lenny Walden and Grace together to patch up their difference. You're lying, Harry. If you think so, why don't you jump? I will. I won't let you push me. I'm not going to push you. How do I know? You don't. The act and the proof are both one.   Isn't that so? Yes. You have to stand there and wait for the proof. Jump if you want her, but I assure you, Vanjie, the proof is worth the anguish. This is it. Irene Burkhard was lying or she wasn't lying. I killed Susie or I didn't. I want you or I don't want you. Total proof. Clear. Concise and quick. Harry, don't come any closer, old John. Darling, I've got to help you. That's all that matters. Everything I said was true, and it's easily proved. This is all the proof a woman would want. I will. Thanks to Robert Ryan and Ruth Warwick. You gave us the excellent performances we expected from an actress whose talent and versatility we've applauded many times before. And from an actor whose outstanding work in crossfire has deservedly won him an Academy Award nomination. Next week, for suspense, we have selected the story of a successful young man whose gifts are many. He is handsome in youth, charming and intelligent. He is a poet of considerable ability and his fame is far-reaching. Beauty and comfort attend his everyday pattern of living. But over him reigns an element, ominous and unseen, an element we call suspense. Next week, then, the House by the River. Mr. Montgomery may currently be seen in the Universal International Production Ride the Pink Horse. Mr. Ryan may soon be seen in the RKO production Berlin Express. Ms. Warwick's current picture is 20th Century Fox's Daisy Canyon. Beyond Reason, an original story by Deverey Freeman was edited and directed by Anton M. Leder. Ludglaskin is our musical director and conductor and Lucian Marowek composes the original scores. Next week, here, the House by the River on Radio's outstanding Theatre of Thrills. One hour of... Suspense!