Add and remove now adjusts the capacity appropriately
Set and get now throw IndexOutOfBoundsException when necessary