this compiles under win32 once again. (I totally forgot about changing this to a shared library vs static link
First pass on windows implementation