first implementation for windows