Exploiting Structure In The Stable Matching Problem