cross-os requires