Revert "HOMEWORK"

This reverts commit ab6846264864d03196116479b2c68482f3b20f6a.
Revert "Revert "HOMEWORK""

This reverts commit 2bbfe04ea5681ad8cfab0ac805fd0281f3bb6145.
Revert "Revert "Revert "HOMEWORK"""

This reverts commit 97c7e6e5684e2af538cdcf347df90387092ef0a8.