replaces source with vector