begin to implement vector