merge with parallel gem
prepare to windwos support