add vector struct