Merge of jeff's work.