Merge in zeekay's fork.