usage of pull and push option