Merge GC branch into master

I don't see any reasons why not having this in master