attempting a different type of fix for msvc. introduced additional warnings in the process fixing them, again