Revert 8b61c7e..aedb64d

This rolls back to commit 8b61c7e61c685c46e2313ea498061011debd6401.
REVERT: FAILED REFACTOR