adding intermediate states