Windows Client Compatibility - Take 2 with Clean Commit History 

Re-applied changes from #91 on a fresh branch for a clean commit history, as suggested by @tmailai