Updated from commit 4b170b303af62d93c193c2167e3dc162e6244eb7.
Updated from commit aaa4ff55be4a02789315102769d77952d9f49466.