abstracted pull classes