Squashed Revert

This reverts the following commits:

    ee28602
    62ab213
    aed74e2
    f05864e
    50b2012
    cae12a6
    911118e