Merge latest branch used at Beijing AGI Summer School presentation so master will compile and BuildBot can proceed