working on pusing and pulling