#313, #308, #290, #249, #239, all PARTIAL progress to this point, #315 full fix