update by polling