consructor, selectors and operations for vectors