merged in 0d6fcb709557f9821a0db69d009f69c9f0bddde7
merged in dc245bf4f564688ce63151e17b4e1f8a8cbcbd70