ported to osx using fswatch