validity is [0,2)