modified windows compatibility