add ability to start with a certain capacity, increase size as needed