basic vector class