This is a partial merge of the stanford branch with the caltech branch of