Revert "Revision 2"

This reverts commit 116cc12582d9bdd5a2aa5c4f2fe6954bf18e21c9.
Revert "Revision 3"

This reverts commit c1f282f5da401eb2222d36d07a3f01c6e40cbf4a.