re-push and add handling for the undefined location