added windows compatibility