Complete rewrite of the puller (fixes #638, fixes #715, fixes #701)