add reserve ... note that now only vector can be used as storage