Big update to allow cross divsional matches, clean up interface