integrated latest changes on master