[big merge]