add pullchange methods
cleanup pullchange