merge with official version