added non deterministic agent