basic vector gen