Google resync

I also prefer the early returns, it helps shorten both line and method length. 10linesx80chars per line methods are easier to read than methods with 8 `end`s.