define pull() for buffers deparately and add to prototypes