discrete states update