precise and deterministic