Merged experimental branch from master branch.