Also including changes from master's 6ed4986406e683d606b1cfb81b487d700e6653ac