Pulled lots of changes from otp master