page harvester finished and modularized
change page harvester func name