Adding latest updates from upstream