tested
tested in cygwin