windows compatibility added