add ~windows~ and ~mac~ support