Gate

Merge gate branch into master