implement replenish event