add intermediate state