Merge upstream

Pull TK's changes to my fork