added three-shot and estimate current state