getter and setter amortized