Improve vector constructor