a lot of cleanup and pulling things back from mslemon