Refactored Version
Revert "Refactored Version"

This reverts commit 85c0b1975775e719b00afc286ea95f7426f06644.