merging updates from upstream