pushing with forked logic