push the whole program