added a pull safe method