cherrypick files from #68