amortized
not defined yet