add and test push function