Better exception checking, split out fully qualified matching strategy