Reimplement Tournament algorithm per paper clarification and cleanups