merged from David