extracted page publish job to own file