Refactor Practice
Revert "Refactor Practice"

This reverts commit 906a6f226b54243c9231b18861f9675bf6e05c83.
Revert "Revert "Refactor Practice""

This reverts commit 1531be59b79f943fe8088cf2476b9e3ab7c57634.