Vector interface and some useful operations