adding and pushing