improved vector creation