merging in upstream updates