This method is long & kinda crazy. Feels like some of it should be pulled out into more methods, but not a blocker.