Integrating changes from siivonen/master