merged latest from upstream

Thanks!