safepush for push after end