remove outside dependency and be linux-compatible