Revert c914599..152fbbc

This rolls back to commit c9145999d582d029dec7a8b445fa91d78b6e7fd9.
Revert "Revert c914599..152fbbc"

This reverts commit 44357d8173801356c20b34d0b6b7b654683333c5.
Revert c914599..572c339

This rolls back to commit c9145999d582d029dec7a8b445fa91d78b6e7fd9.
Fixing conflicts