3.8 port

Now that 3.8 port is done, while maintenaing 2.6.18 initial base code, merge into master again.