better push function
fix