initial commit; not yet complete
implemented the fix; windows build works but Linux build has not been implemented yet and it broken.