add Amortized analysis