some refactoring
Windows Build