Revert "Initial revision"

This reverts commit 6ed140afe8dd77ad0500801758d39cccef16a9c7.
Revert "Revert "Initial revision""

This reverts commit e6d548b8e1568f00daf8897d1572febff252c28b.