Merged upstream/master.
Fixed test coverage.