adapted for windows