Merge manually 4fd85b115e2550969ddeadd43a2bc6dafff21779 3f2ae9d58f5ea3d9de175e8daa9c8902b3f23440 and e049c5e74f009430e22e446f149a552d00846d7a