no need to hardcode initial size