Revert "Several updates"

This reverts commit 32c3f97dbbd680cd3fdc5ef576e8ed7e267f3bf6.
Revert "Revert "Several updates""

This reverts commit e206b8459b31578b1f84365e76f792d08fef2002.