non-deterministic systems