How can I make S-Voice use an address in my contact list when I'm asking it to give me directions? And how can I make sure it finds the proper contact when there are many contact entries that are similar?

Here's the scenario:
I work for a company that has 20+ locations. I have each location entered in my phone book with the associated address. When I get in my car, I ask S-Voice to nagivate me to the office I need to report to that day.

I have never once had it navigate me to the correct address. It will send me to a different location than what I'm asking for, or send me to a completely other destination that it seemed to find on the internet that it thinks matches what I asked for.

Sometimes I will ask it to find the contact first, and it will successfuly pull up the contact, but then when I tell it to navigate me there, it navigates me to some random company that has "there" in their name.

Am I using the wrong commands? How can I be more specific with SVoice without confusing it?