added pull function